Exemplo n.º 1
0
 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))
Exemplo n.º 2
0
 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)
Exemplo n.º 3
0
    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
Exemplo n.º 5
0
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
            })