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)
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)
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)
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)
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
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
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)
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
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
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
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()
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
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