Changeset 99ea6e7 in observatorio


Ignore:
Timestamp:
Jul 25, 2014, 1:48:53 PM (10 years ago)
Author:
Ing. Roldan Vargas <rvargas@…>
Branches:
master
Children:
e29b474
Parents:
ae41c89
Message:

sustitución de simplejson de django por json de python

File:
1 edited

Legend:

Unmodified
Added
Removed
  • procesos/apps/reportes/json_views.py

    r7c9f979 r99ea6e7  
    22import datetime
    33from django.shortcuts import render_to_response, get_object_or_404
    4 from django.template import Template,  Context
     4from django.template import Template, Context
    55from django.http import Http404, HttpResponse, HttpResponseRedirect
    66from nokia.tt.models import *
     
    99from nokia.reporting.helpers import *
    1010from django import newforms as forms
    11 from django.utils import simplejson
     11import json
    1212
    1313
     
    2020        'DecimalField',
    2121        'PositiveIntegerField'
    22         ],
     22    ],
    2323    'time': [
    2424        'DateField',
    2525        'DateTimeField',
    2626        'TimeField'
    27         ],
     27    ],
    2828    'text': [
    2929        'CharField',
     
    3636        'XMLField',
    3737        'URLField',
    38         ],
     38    ],
    3939    'bool': [
    4040        'BooleanField'
    41         ],
     41    ],
    4242    'related': [
    4343        'ForeignKey',
    4444        'ManyToManyField'
    45         ]
     45    ]
    4646}
    4747
     
    5454        'lte',
    5555        'range',
    56         ],
     56    ],
    5757    'time': [
    5858        'gt',
     
    6565        'month',
    6666        'day',
    67         ],
     67    ],
    6868    'text': [
    6969        'contains',
     
    7373        'in',
    7474        'isnull',
    75         ],
     75    ],
    7676    'bool': [
    77         ],
     77    ],
    7878    'related': [
    79         ]
    80 } 
     79    ]
     80}
    8181QUERY_TERMS = {
    8282    'contains': 'Contains',
     
    9797}
    9898
     99
    99100def get_field_type(fld_type):
    100101    """Search through FLD_TYPES and return the key for the type of field"""
    101     for k,v in FLD_TYPES.items():
     102    for k, v in FLD_TYPES.items():
    102103        if fld_type in v:
    103104            return k
    104105
     106
    105107def get_poss_lookup_types(fld_type):
    106     return LOOKUP_TYPES.get(get_field_type(fld_type),None)
     108    return LOOKUP_TYPES.get(get_field_type(fld_type), None)
     109
    107110
    108111def fields_for_model(request):
     
    110113    template = Template("""{% for o in options %}<option {% if o.selected %}
    111114    selected="selected"{% endif %} value="{{ o.value }}">{{ o.text }}</option>{% endfor %}""")
    112     output = request.GET.get('format','html')
     115    output = request.GET.get('format', 'html')
    113116    id = request.GET.get('id', None)
    114117    if id:
     
    118121        options = []
    119122        for o in opts:
    120             dikt = {'value':o[0], 'text':o[1]}
     123            dikt = {'value': o[0], 'text': o[1]}
    121124            if o[0] in field_ids:
    122125                dikt['selected'] = True
     
    124127    else:
    125128        ct_id = request.GET['model']
    126         model = ContentType.objects.get(pk=ct_id).model
     129        model = ContentType.objects.get(pk=ct_id).model
    127130        fields = possible_fields(model)
    128         options = [{'value':f[0], 'text':f[1]} for f in fields]
    129         print options
    130     if output == 'json': #not sure if I'm gonna need this
    131             return HttpResponse(simplejson.dumps(options))
     131        options = [{'value': f[0], 'text': f[1]} for f in fields]
     132        print options
     133    if output == 'json':  # not sure if I'm gonna need this
     134        return HttpResponse(json.dumps(options))
    132135    return HttpResponse(template.render(Context({'options': options})))
    133136
    134 def get_field_and_type(class_reg,fld_name):
    135         try:
    136                 fld = class_reg.dj_model._meta.get_field(fld_name)
    137         except:
    138                 pass
     137
     138def get_field_and_type(class_reg, fld_name):
     139    try:
     140        fld = class_reg.dj_model._meta.get_field(fld_name)
     141    except:
     142        pass
    139143
    140144
    141 def filter_fields(request,id):
    142         """Given the report id, return a list of fields to put in a select"""
    143         reporter = Report.objects.get(pk=id).get_report()
    144         class_reg = getattr(reporter.register,reporter.model.__name__)
    145         field_choices = [(f.name, prettify_string(f.name)) \
    146                                                 for f in class_reg._fields + class_reg._m2ms]
    147         f = forms.Form()
    148         f.fields['fields'] = forms.ChoiceField(choices=field_choices,
    149                                                         help_text="Choose a field to filter on")
    150         return HttpResponse(f.as_p())
     145def filter_fields(request, id):
     146    """Given the report id, return a list of fields to put in a select"""
     147    reporter = Report.objects.get(pk=id).get_report()
     148    class_reg = getattr(reporter.register, reporter.model.__name__)
     149    field_choices = [(f.name, prettify_string(f.name)) \
     150                     for f in class_reg._fields + class_reg._m2ms]
     151    f = forms.Form()
     152    f.fields['fields'] = forms.ChoiceField(choices=field_choices,
     153                                           help_text="Choose a field to filter on")
     154    return HttpResponse(f.as_p())
    151155
    152156
Note: See TracChangeset for help on using the changeset viewer.