def generate_code(self, mobile_number): yesterday = make_aware(datetime.today() - timedelta(days=1)) user_phone_valid = UserphoneValid.objects.filter( MobileNumber=mobile_number, Date__gte=yesterday, Validation=False) if user_phone_valid.exists(): return user_phone_valid[0].ValidCode else: return str(random.randint(100000, 999999))
def clean(self): errors = {'name': [], 'deadline': []} cln = self.cleaned_data if 'name' not in cln.keys(): errors['name'] += [_('لطفا نام دارو را وارد کنید.')] if 'deadline' not in cln.keys(): errors['deadline'] += [_('لطفا تاریخ را وارد کنید.')] elif cln['deadline'] < datetime.today().date().togregorian(): errors['deadline'] += [_('از این تاریخ گذشته است.')] if len(errors['name']) > 0 or len(errors['deadline']) > 0: raise ValidationError(errors)
def form_valid(self, form): self.frm = form.save(commit=False) self.frm.branch = self.request.user self.frm.date_persian = datetime.today() self.frm.ip = self.request.META.get('REMOTE_ADDR') esk = int(form.cleaned_data['es_1']) + int(form.cleaned_data['es_2']) + int(form.cleaned_data['es_5']) \ + int(form.cleaned_data['es_10']) + int(form.cleaned_data['es_20']) + int(form.cleaned_data['es_50']) \ + int(form.cleaned_data['es_100']) + int(form.cleaned_data['es_far']) nikl = int(form.cleaned_data['n_1']) + int(form.cleaned_data['n_2']) + int(form.cleaned_data['n_5']) \ + int(form.cleaned_data['n_10'])+ int(form.cleaned_data['n_li']) ir_chk = int(form.cleaned_data['ir_50']) + int( form.cleaned_data['ir_100']) + int(form.cleaned_data['ir_far']) tabr = int(form.cleaned_data['t_m']) + int(form.cleaned_data['t_va']) + int(form.cleaned_data['t_ch_25']) \ + int(form.cleaned_data['t_ch_50']) + int(form.cleaned_data['t_ch_100']) + int( form.cleaned_data['t_ch_hav']) + int(form.cleaned_data['t_ch_taz']) \ + int(form.cleaned_data['t_pard']) + int(form.cleaned_data['t_saf']) try: self.frm.total_yesterday = (Detail.objects.filter( branch=self.request.user).order_by('date_persian').last() ).total print('**********************************************************') print(self.frm.total_yesterday) except: self.frm.total_yesterday = form.cleaned_data['total_yesterday'] print('%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%') print(self.frm.total_yesterday) self.frm.total = (int(self.frm.total_yesterday) + int( form.cleaned_data['daryaft'])) - int(form.cleaned_data['pardakht']) self.frm.daryaft = form.cleaned_data['daryaft'] self.frm.pardakht = form.cleaned_data['pardakht'] nikl_ir_chk_esk = int(esk) + int(nikl) + int(ir_chk) if nikl_ir_chk_esk == self.frm.total: self.frm.save() else: context = { 'diffrent': int(nikl_ir_chk_esk) - int(self.frm.total), 'back': self.request.path, } return render(self.request, 'stv/diffrent.html', context) print(self.frm.branch) print(self.frm.total) print(self.frm.total_yesterday) return HttpResponseRedirect(reverse_lazy('stv:home'))
def get_profile_data(context): context['profile_data'] = dict(context['profile_data'].items() + {'first name': request.user.first_name, 'last name': request.user.last_name, 'email': request.user.email}.items()) try: user_profile = UserProfile.objects.get(user_id=request.user.id) context['profile_data'] = dict( context['profile_data'].items() + {field.name: field.value_to_string(user_profile) for field in user_profile._meta.fields}.items()) except: pass today = datetime.today() try: tickets = ReservedTicket.objects.filter(user_id=request.user.id, train__date__gte="%s-%s-%s" % (today.year, today.month, today.day)) context['tickets'] = tickets except: pass try: context['questions'] = Question.objects.filter(user_id=request.user.id, ans__gt='') except: pass
def home(request): current_month = datetime.now() #TODO current is today not month fix this last_month = datetime.today() - timedelta(days=30) print(last_month) labels = [] data = [] queryset = exp.objects.filter(date__gt=last_month).order_by('-amount')[:6] for temp in queryset: labels.append(temp.title) data.append(temp.amount) USER = request.user INCOME = income.objects.filter(date__gt=last_month, user=USER).aggregate( Count('amount'), Sum('amount')) EXPENT = exp.objects.filter(date__gt=last_month, user=USER).aggregate(Count('amount'), Sum('amount')) expSum = EXPENT['amount__sum'] incoSum = INCOME['amount__sum'] exp_per = 0 inco_per = 0 if EXPENT['amount__count'] is not 0 and EXPENT[ 'amount__sum'] is not None and INCOME[ 'amount__count'] is not 0 and INCOME['amount__sum'] is not None: exp_per = ((EXPENT['amount__sum']) * 100) / INCOME['amount__sum'] inco_per = (100 - exp_per) statExpense = exp.objects.order_by('-date') statIncome = income.objects.order_by('-date') if request.method == 'POST': if request.POST.get('expent') and request.POST.get( 'amount1') and request.POST.get('date1'): expent = exp() expent.title = request.POST.get('expent') expent.amount = request.POST.get('amount1') expent.date = request.POST.get('date1') expent.user = request.user expent.save() return redirect('home') elif request.POST.get('income') and request.POST.get( 'amount2') and request.POST.get('date2'): inco = income() inco.title = request.POST.get('income') inco.amount = request.POST.get('amount2') inco.date = request.POST.get('date2') inco.user = request.user inco.save() return redirect('home') elif request.POST.get('T-date'): statExpense = exp.objects.filter( date__gt=request.POST.get('T-date')) statIncome = income.objects.filter( date__gt=request.POST.get('T-date')) return render( request, 'add.html', { 'username': request.user, 'labels': labels, 'data': data, 'expSum': expSum, 'incoSum': incoSum, 'expent': exp_per, 'income': inco_per, 'expStat': statExpense, 'incoStat': statIncome }) else: return render( request, 'add.html', { 'username': request.user, 'labels': labels, 'data': data, 'expSum': expSum, 'incoSum': incoSum, 'expent': exp_per, 'income': inco_per, 'expStat': statExpense, 'incoStat': statIncome })