Пример #1
0
    def save_model(self, request, obj, form, change):
        if obj.pk:
            query = '''
                    UPDATE tblUser
                    SET tblUser.FName = ?
                    , tblUser.LName = ?
                    , tblUser.Moavenat = ?
                    , tblUser.openningformP = ?
                    , tblUser.AccessLevelID = ?
                    , tblUser.envan = ?
                    WHERE UserID = ?
                   '''
            params = (obj.first_name, obj.last_name, obj.moavenat,
                      obj.query_name,
                      1 if obj.access_level == AccessLevel.USER else 4,
                      str(obj.title()), obj.user_id)
            execute_query(query, params, update=True)
        else:
            query = '''
                    INSERT INTO tblUser (LName, Password, openningformP, P)
                    VALUES(?, ?, ?, ?)
                    '''
            obj.last_name = obj.username
            obj.query_name = obj.username
            params = (obj.last_name, obj._password, obj.query_name, 'p')
            obj.user_id = execute_query(query, params, insert=True)

        super(UserAdmin, self).save_model(request, obj, form, change)
Пример #2
0
    def save_model(self, request, obj, form, change):
        new_obj = False
        if obj.pk:
            obj._review_date = timezone.now()
            query = '''
                    UPDATE tblmosavabat
                    SET tblmosavabat.natije = ?
                   '''
            params = [obj.result]

            if request.user.is_superuser or request.user.is_secretary:
                query += ", tblmosavabat.sharh=?, tblmosavabat.peygiri1=?, tblmosavabat.peygiri2=?" \
                         ", tblmosavabat.tarikh=?, tblmosavabat.jalaseh=?, tblmosavabat.muzoo=?" \
                         ", tblmosavabat.gooyandeh=?, tblmosavabat.vahed=?, tblmosavabat.vahed2=?" \
                         ", tblmosavabat.mosavabatcode=?, tblmosavabat.TarikhBaznegari=?, tblmosavabat.[date]=?" \
                         ", tblmosavabat.review_date=?"
                params.extend(
                    (obj.description,
                     obj.first_actor.lname if obj.first_actor else '-',
                     obj.second_actor.lname if obj.second_actor else '-',
                     int(to_jalali(obj._date, no_time=True).replace('/', '')) -
                     13000000, obj.session.name, obj.subject.name,
                     obj.assigner.name, obj.first_actor.supervisor.name if
                     obj.first_actor and obj.first_actor.supervisor else '-',
                     obj.second_actor.supervisor.name if obj.second_actor
                     and obj.second_actor.supervisor else '-', obj.code,
                     obj.review_date(), obj._date, obj._review_date))
            query += '''
                    WHERE ID = ?
                   '''
            params.append(obj.row)
            execute_query(query, params, update=True)
        else:
            query = '''
                    INSERT INTO tblmosavabat (sharh, peygiri1, peygiri2, tarikh, lozoomepeygiri, natije, jalaseh,
                    muzoo, gooyandeh, vahed, vahed2, mosavabatcode, TarikhBaznegari, [date], review_date)
                    VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
                    '''
            obj.follow_grade = 1
            params = (obj.description,
                      obj.first_actor.lname if obj.first_actor else '-',
                      obj.second_actor.lname if obj.second_actor else '-',
                      int(to_jalali(obj._date, True).replace('/', '')) -
                      13000000, obj.follow_grade, obj.result, obj.session.name,
                      obj.subject.name, obj.assigner.name,
                      obj.first_actor.supervisor.name if obj.first_actor
                      and obj.first_actor.supervisor else '-',
                      obj.second_actor.supervisor.name if obj.second_actor
                      and obj.second_actor.supervisor else '-', obj.code,
                      obj.review_date(), obj._date, obj._review_date)
            obj.row = execute_query(query, params, insert=True)
            new_obj = True

        super(EnactmentAdmin, self).save_model(request, obj, form, change)
        if new_obj:
            queryset_name = '%s_query_set' % self.model._meta.model_name
            enactment_query_set = request.session[queryset_name]
            enactment_query_set.append({'pk': obj.pk})
            request.session[queryset_name] = list(enactment_query_set)
Пример #3
0
 def delete_model(self, request, obj):
     query = '''
             DELETE FROM tblmosavabat
             WHERE tblmosavabat.ID = ?
             '''
     params = (obj.row)
     execute_query(query, params, delete=True)
     super(EnactmentAdmin, self).delete_model(request, obj)
Пример #4
0
 def delete_model(self, request, obj):
     query = '''
             DELETE FROM tblUser
             WHERE tblUser.UserID = ?
             '''
     params = (obj.user_id)
     execute_query(query, params, delete=True)
     super(UserAdmin, self).delete_model(request, obj)
Пример #5
0
    def close(self, request):
        result = self.next(request)
        pk = int(request.GET['pk'])
        enactment = get_object_or_404(Enactment, pk=pk)
        enactment.follow_grade = 0
        enactment.save()

        query = '''
                UPDATE tblmosavabat
                SET tblmosavabat.lozoomepeygiri = ?
                WHERE ID = ?
               '''
        params = [enactment.follow_grade, enactment.row]
        execute_query(query, params, update=True)
        return result
Пример #6
0
 def password_change(self, request, extra_context=None):
     response = super(AdminSite, self).password_change(request,
                                                       extra_context=None)
     if request.method == 'POST' and (response.status_code == 302
                                      or 'class="errornote"'
                                      not in response.rendered_content):
         password = request.POST['new_password1']
         query = '''
                 UPDATE tblUser
                 SET Password = ?
                 WHERE LName = ?
                '''
         params = (password, request.user.username)
         execute_query(query, params, True)
     return response
Пример #7
0
    def save_formset(self, request, form, formset, change):
        super(EnactmentAdmin, self).save_formset(request, form, formset,
                                                 change)
        if formset.prefix == 'attachment_set' and change:
            obj = form.instance
            query = '''
                UPDATE tblmosavabat
                SET tblmosavabat.[attachments] = ?
               '''

            attachments = ' '.join(
                '%s%s' % (request.META['HTTP_ORIGIN'], attachment.file.url)
                for attachment in obj.attachment_set.all())

            params = (attachments, obj.row)
            query += '''
                    WHERE ID = ?
                   '''
            execute_query(query, params, update=True)
Пример #8
0
def get_assigners():
    global data_loaded
    Assigner.objects.all().delete()
    try:
        query = '''
                SELECT DISTINCT tblmosavabat.gooyandeh
                FROM tblmosavabat
               '''
        result = execute_query(query)
        for r in result:
            Assigner.objects.get_or_create(
                name=settings.WITHOUT_ASSIGNER_TITLE if r.gooyandeh in [None, '', ' '] else r.gooyandeh)
    finally:
        data_loaded ^= 2
Пример #9
0
def get_sessions():
    global data_loaded
    try:
        Session.objects.all().delete()
        query = '''
                SELECT DISTINCT tblmosavabat.jalaseh
                FROM tblmosavabat
               '''
        result = execute_query(query)
        for r in result:
            Session.objects.get_or_create(
                name=settings.WITHOUT_SESSION_TITLE if r.jalaseh in [None, '', ' '] else r.jalaseh)
    finally:
        data_loaded ^= 1
Пример #10
0
def get_subjects():
    global data_loaded

    try:
        Subject.objects.all().delete()
        query = '''
                SELECT DISTINCT tblmosavabat.muzoo
                FROM tblmosavabat
               '''
        result = execute_query(query)
        for r in result:
            Subject.objects.get_or_create(
                name=settings.WITHOUT_SUBJECT_TITLE if r.muzoo in [None, '', ' '] else r.muzoo)
    finally:
        data_loaded ^= 4
Пример #11
0
def get_supervisors():
    global data_loaded
    try:
        Supervisor.objects.all().delete()
        query = '''
                SELECT tblUser.Moavenat
                FROM tblUser
               '''
        result = execute_query(query)
        for r in result:
            Supervisor.objects.get_or_create(
                name=settings.WITHOUT_SUPERVISOR_TITLE if r.Moavenat in [None, '', ' '] else r.Moavenat)
    finally:
        data_loaded ^= 16
        actors = Timer(1, get_actors)
        actors.start()
Пример #12
0
def get_actors():
    global data_loaded
    try:
        Actor.objects.all().delete()
        query = '''
                SELECT tblUser.FName, tblUser.LName, tblUser.Moavenat
                FROM tblUser
               '''
        result = execute_query(query)
        for r in result:
            try:
                supervisor = None
                supervisor = get_object_or_404(Supervisor, name=r.Moavenat)
            except:
                pass
            Actor.objects.get_or_create(fname=r.FName, lname=r.LName, supervisor=supervisor)
    finally:
        data_loaded ^= 8
Пример #13
0
def get_enactments():
    global data_loaded, max_data, tries, max_try

    if data_loaded != pow(2, max_data - 1) - 1:
        if tries == max_try:
            data_loaded = pow(2, max_data) - 1
            tries = -1
            return
        tries += 1
        enactments = Timer(5, get_enactments)
        enactments.start()
        return

    Enactment.objects.all().delete()
    command = 'SELECT * from tblmosavabat'
    result = execute_query(command)
    try:
        Enactment.objects.bulk_create([Enactment(**{
            'row': r.ID,
            'description': r.sharh,
            'subject': Subject.objects.get(name=settings.WITHOUT_SUBJECT_TITLE if r.muzoo in [None, ''] else r.muzoo),
            'first_actor': Actor.objects.filter(lname=r.peygiri1).first(),
            'second_actor': Actor.objects.filter(lname=r.peygiri2).first(),
            '_date': r.date or timezone.now(),
            'follow_grade': r.lozoomepeygiri,
            'result': r.natije,
            'session': Session.objects.get(
                name=settings.WITHOUT_SESSION_TITLE if r.jalaseh in [None, ''] else r.jalaseh),
            'assigner': Assigner.objects.get(
                name=settings.WITHOUT_ASSIGNER_TITLE if r.gooyandeh in [None, ''] else r.gooyandeh),
            '_review_date': r.review_date or timezone.now()}) for r in result])
    except Exception as e:
        print(e)
        tries = -1
        return
    finally:
        data_loaded ^= 32