コード例 #1
0
ファイル: models.py プロジェクト: shamanu4/biltv
 def save(self, *args, **kwargs):
     from lib.functions import latinaze            
     self.passport=latinaze(self.passport)
     self.firstname = self.firstname.capitalize()
     self.lastname = self.lastname.capitalize()
     self.middlename = self.middlename.capitalize()
     self.sorting = self.fio_short()
     for abonent in self.abonents.all():
         abonent.save()
     super(self.__class__, self).save(*args, **kwargs)
コード例 #2
0
 def save(self, *args, **kwargs):
     from lib.functions import latinaze
     self.passport = latinaze(self.passport)
     self.firstname = self.firstname.capitalize()
     self.lastname = self.lastname.capitalize()
     self.middlename = self.middlename.capitalize()
     self.sorting = self.fio_short()
     for abonent in self.abonents.all():
         abonent.save()
     super(self.__class__, self).save(*args, **kwargs)
コード例 #3
0
ファイル: rpc.py プロジェクト: shamanu4/biltv
    def person_set(self, rdata, request):
        from abon.models import Abonent, Person
        from abon.forms import PersonForm
        from lib.functions import latinaze

        uid = int(rdata.__getitem__("uid"))
        passport = rdata.__getitem__("passport")
        passport = latinaze(passport)
        if not passport:
            return dict(success=False, title="Неправильный номер паспорта", msg="passport number is invalid", errors="")
        if len(passport) > 0:
            try:
                person = Person.objects.get(passport=passport)
            except Person.DoesNotExist:
                person = Person()
            else:
                pass
        elif uid > 0:
            try:
                abonent = Abonent.objects.get(pk=uid)
            except Abonent.DoesNotExist:
                return dict(success=False, title="Сбой загрузки формы", msg="abonent not found", errors="")
            else:
                person = abonent.person
        else:
            person = Person()

        form = PersonForm(rdata)
        result = []

        if form.is_valid():
            res = form.save(person)
            ok = res[0]
            result.append(res[1].store_record())
            msg = res[2]
        else:
            ok = False
            msg = form._errors
        if ok:
            return dict(success=True, data=result)
        else:
            return dict(success=False, title="Ошибка записи", msg=msg, data={})
コード例 #4
0
ファイル: rpc.py プロジェクト: shamanu4/biltv
    def person_get(self, rdata, request):
        from abon.models import Abonent, Person
        from lib.functions import latinaze

        if "uid" in rdata:
            uid = int(rdata["uid"])
            try:
                abonent = Abonent.objects.get(pk=uid)
            except Abonent.DoesNotExist:
                return dict(success=False, title="Сбой загрузки формы", msg="abonent not found", errors="")
            else:
                return dict(success=True, data=abonent.person.store_record())

        elif "passport" in rdata:
            try:
                person = Person.objects.get(passport=latinaze(rdata["passport"]))
            except Person.DoesNotExist:
                return dict(success=False, title="Сбой загрузки формы", errors="")
            else:
                return dict(success=True, data=person.store_record())

        else:
            return dict(success=False, title="Сбой загрузки формы", msg="abonent not found", errors="")
コード例 #5
0
ファイル: extjs.py プロジェクト: Cloudxtreme/biltv
 def wrapper(*args, **kwargs):
     from lib.functions import latinaze
     import re
     spec_lookup = re.compile("^.*\_{2}(i?exact|i?contains|(l|g)te|i?(start|end)swith)$")
     result = func(*args, **kwargs)
     rdata = args[1]
     if isinstance(result, tuple):
         result, extras = result
         success = True
     else:
         success = True
         extras = {}
     total=0
     if isinstance(result, QuerySet) or isinstance(result, QuerySetChain):                        
         if 'filter_fields' in rdata and 'filter_value' in rdata:
             query=None
             if 'query' in rdata:
                 for node in rdata['filter_fields']:
                     val=unicode(rdata['query'])                        
                     wild = val.split('*')                 
                     query2 = None
                     for v in wild:
                         if not v == '':
                             if spec_lookup.match(node):
                                 if query2:                            
                                     query2 = query2 & Q(**{"%s" % str(node):v})
                                 else:
                                     query2 = Q(**{"%s" % str(node):v})
                             else:
                                 if query2:                            
                                     query2 = query2 & Q(**{"%s__icontains" % str(node):v})
                                 else:
                                     query2 = Q(**{"%s__istartswith" % str(node):v})
                     if query:
                         query = query | query2
                     else:
                         query = query2
             if not rdata['filter_value']=='':                    
                 for node in rdata['filter_fields']:
                     if 'passport' in node:
                         val=latinaze(rdata['filter_value'])
                     else:
                         val=unicode(rdata['filter_value'])
                     wild = val.split('*')
                     query2 = None
                     for v in wild:
                         if not v == '':
                             if spec_lookup.match(node):
                                 if query2:
                                     query2 = query2 & Q(**{"%s" % str(node):v})
                                 else:
                                     query2 = Q(**{"%s" % str(node):v})
                             else:
                                 if query2:
                                     query2 = query2 & Q(**{"%s__icontains" % str(node):v})
                                 else:
                                     query2 = Q(**{"%s__icontains" % str(node):v})
                     if query:
                         query = query | query2
                     else:
                         query = query2
             if query:
                 result = result.filter(query)
         if 'filter' in rdata:
             for item in rdata['filter']:
                 val = unicode(rdata['filter'][item])
                 result = result.filter(**{str(item):val})
         if 'sort' in rdata:
             if 'dir' in rdata and rdata['dir']=='DESC':
                 result = result.order_by('-%s' % rdata['sort'])
             else:
                 result = result.order_by('%s' % rdata['sort'])
         total = result.count()
         if 'start' in rdata and 'limit' in rdata:
             result = result[rdata['start']:rdata['start']+rdata['limit']]            
         result = [obj.store_record() for obj in result]
     return dict(data=result, success=success, total=total, extras=extras)