def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) PERFECT_USER_ID_VALUE = TanzimatPaye.get_settings(PERFECT_USER_ID, 0) PERFECT_TITLE_VALUE = TanzimatPaye.get_settings(PERFECT_TITLE, 0) PERFECT_PASSPHRASE_VALUE = TanzimatPaye.get_settings( PERFECT_PASSPHRASE, 0) context['form'].fields[ 'PERFECT_USER_ID'].initial = PERFECT_USER_ID_VALUE context['form'].fields['PAYEE_NAME'].initial = PERFECT_TITLE_VALUE context['form'].fields['Passphrase'].initial = PERFECT_PASSPHRASE_VALUE return context
def get_context_data(self, *, object_list=None, **kwargs): context = super().get_context_data(object_list=object_list, **kwargs) if self.request.session.get('dargah_type') == '1': form = Form() form.fields = {} action_url = "https://perfectmoney.is/api/step1.asp" how_much = self.request.session.get("how_much") submit_name = "PAYMENT_METHOD" dargah_type = "Perfect Money" PERFECT_USER_ID_VALUE = TanzimatPaye.get_settings( PERFECT_USER_ID, 0) PUI = forms.CharField(initial=PERFECT_USER_ID_VALUE, widget=forms.HiddenInput()) form.fields["PAYEE_ACCOUNT"] = PUI PAYMENT_ID = forms.CharField( initial=self.request.session.get('payment_id'), widget=forms.HiddenInput()) form.fields["PAYMENT_ID"] = PAYMENT_ID PERFECT_TITLE_VALUE = TanzimatPaye.get_settings(PERFECT_TITLE, 0) PT = forms.CharField(initial=PERFECT_TITLE_VALUE, widget=forms.HiddenInput()) form.fields["PAYEE_NAME"] = PT PAYMENT_AMOUNT = forms.CharField( initial=self.request.session.get("how_much"), widget=forms.HiddenInput()) form.fields["PAYMENT_AMOUNT"] = PAYMENT_AMOUNT PAYMENT_UNITS = forms.CharField(initial="USD", widget=forms.HiddenInput()) form.fields["PAYMENT_UNITS"] = PAYMENT_UNITS STATUS_URL = forms.CharField( initial="http://9ed79c3b.ngrok.io/system/perfectpaymentstatus", widget=forms.HiddenInput()) form.fields["STATUS_URL"] = STATUS_URL PAYMENT_URL = forms.CharField( initial="http://9ed79c3b.ngrok.io/system/perfectpaymentsuccess", widget=forms.HiddenInput()) form.fields["PAYMENT_URL"] = PAYMENT_URL PAYMENT_URL_METHOD = forms.CharField(initial="GET", widget=forms.HiddenInput()) form.fields["PAYMENT_URL_METHOD"] = PAYMENT_URL_METHOD NOPAYMENT_URL = forms.CharField( initial="http://9ed79c3b.ngrok.io/system/perfect_money_F", widget=forms.HiddenInput()) form.fields["NOPAYMENT_URL"] = NOPAYMENT_URL NOPAYMENT_URL_METHOD = forms.CharField(initial="GET", widget=forms.HiddenInput()) form.fields["NOPAYMENT_URL_METHOD"] = NOPAYMENT_URL_METHOD context["form"] = form context["action_url"] = action_url context["how_much"] = how_much context["submit_name"] = submit_name context["dargah_type"] = dargah_type return context
def form_valid(self, form): if not self.request.user.is_superuser: t = form.instance.text.__len__() max_t = int(TanzimatPaye.get_settings(TAIEN_MEGHDAR_MATLAB, False)) if t > max_t: messages.error(self.request, _("Ad text is too long")) return super(TablighCreateView, self).form_invalid(form) try: obj = Tabligh.objects.get(pk=self.object.pk) except: messages.error( self.request, _("While updating the Ad some problem occurred")) return self.form_invalid(form) form.instance.code_tabligh_gozaar_id = self.request.user.id if form.instance.onvan != obj.onvan or form.instance.text != obj.text: form.instance.vazeyat = 3 else: form.instance.vazeyat = self.object.vazeyat form.instance.code_pelan = obj.code_pelan form.instance.tedad_click = obj.tedad_click form.instance.tedad_click_shode = obj.tedad_click_shode messages.success(self.request, _("Your Ad is updated")) return super(TablighUpdateView, self).form_valid(form)
def get_form(self, form_class=None): form = super().get_form(form_class) if not self.request.user.is_superuser: form.fields['code_tabligh_gozaar'].required = False if not TanzimatPaye.get_settings(CLICK_IS_CHANGEABLE, 0): del form.fields['tedad_click'] return form
def middleware(request): t = TanzimatPaye.get_settings(LANGUGE_SITE, 0) if t == 1: lang = 'fa' else: lang = 'en' translation.activate(lang) response = get_response(request) return response
def post(self, request): sode_modir, cre = TanzimatPaye.objects.get_or_create(onvan=SODE_MODIR, defaults={ "onvan": SODE_MODIR, 'value': 0, }) max_count_level_network, cre = TanzimatPaye.objects.get_or_create( onvan=COUNT_LEVEL_NETWORK, defaults={ "onvan": COUNT_LEVEL_NETWORK, 'value': 5, }) if "levelnetwork_form" in self.request.POST: form = Count_level_networkForm(request.POST) if int(request.POST.get("onvan")) > int( TanzimatPaye.get_settings(COUNT_LEVEL_NETWORK, 0)): messages.error(self.request, _("Level you exceeds max level")) return self.get(request) onvan = request.POST.get("onvan") onvan = Count_Level_networkView.starts_with + str(int(onvan)) messages.success(self.request, _("Level is created")) t = TanzimatPaye.objects.update_or_create( onvan=onvan, defaults={ "onvan": onvan, 'value': request.POST.get("value"), }) elif "sod_form" in request.POST: sode_modir.value = request.POST.get("sode_modir") sode_modir.save() max_count_level_network.value = request.POST.get( "had_aksar_count_level") max_count_level_network.save() messages.success( self.request, "بروزرسانی سود مدیر و حداکثر سطح با موفقیت انجام شد.") sod_form = sod_modir_max_count_level_FormSetting( data={ "sode_modir": sode_modir.value, "had_aksar_count_level": max_count_level_network.value }) levelnetwork_form = Count_level_networkForm return render(request, 'system/TanzimatPaye/Count_level_network.html', { 'sod_form': sod_form, 'form': levelnetwork_form })
def after_init(self): if 'code_moaref' in self.Meta.fields: if not hasattr(self, 'clean_code_moaref'): setattr(self, 'clean_code_moaref', self.validate_code_moarefi) try: active_moarefi = int(TanzimatPaye.get_settings( ACTIV_MOAREF, 0)) if active_moarefi: self.fields['code_moaref'].required = True self.add_field_message_error_direct( 'code_moaref', 'required', _("Referral Code is Required")) else: self.fields['code_moaref'].required = False except: pass pass
def form_valid(self, form): if "update_sath_network" in self.request.POST: if int(form.instance.onvan) > int( TanzimatPaye.get_settings(COUNT_LEVEL_NETWORK, 0)): messages.error(self.request, _("Level you exceeds max level")) return super(Count_Level_networkView, self).form_invalid(form) form.instance.onvan = Count_Level_networkView.starts_with + str( int(form.instance.onvan)) messages.success(self.request, _("Level is created")) t = TanzimatPaye.objects.filter( onvan=form.instance.onvan).first() # type:TanzimatPaye if t: t.value = form.instance.value t.save() return HttpResponseRedirect(self.get_success_url()) return super(Count_Level_networkView, self).form_valid(form)
def get(self, request, enteshartoken): enteshartoken = enteshartoken.split('--') if len(enteshartoken) < 2 or not isinstance(enteshartoken[1], str) \ or not enteshartoken[1].isdigit(): raise Http404() user_id = enteshartoken[1] enteshartoken = enteshartoken[0] tabligh = get_object_or_404(Tabligh, random_url=enteshartoken) if tabligh.vazeyat == 4: raise Http404() elif tabligh.tedad_click_shode + 1 > tabligh.tedad_click: tabligh.vazeyat = 4 tabligh.save() raise Http404() user = get_object_or_404(User, pk=int(user_id)) del user_id click = Click() click.tabligh = tabligh click.montasher_konande = user click.ip = get_client_ip(request) sode_modir = TanzimatPaye.get_settings(SODE_MODIR, 0) max_sath_sod = TanzimatPaye.get_settings(COUNT_LEVEL_NETWORK, 0) # get sath user tabligh_first_sath = SoodeTabligh.objects.filter( Q(sath__lte=user.sath) & ~Q(sath=0)).order_by('-sath').first() if tabligh_first_sath: tabligh_first_sath_sood = tabligh_first_sath.soode_mostaghim tabligh_first_sath = tabligh_first_sath.sath user.add_to_kif_daramad(tabligh_first_sath_sood, direct=True) click.mablagh_har_click = tabligh_first_sath_sood click.save() # if soode_sath: # User.objects.filter(is_superuser=True).first().add_to_kif_pool(soode_sath.soode_mostaghim) if user.list_parent is not None: jsonDec = json.decoder.JSONDecoder() list_parent = jsonDec.decode(user.list_parent) for ids, parent in enumerate(list_parent): if ids + 1 <= max_sath_sod: parent_user = User.objects.filter(id=parent[0]).first() if parent_user.sath < tabligh_first_sath: if parent_user is not None: soode_sath = SoodeTabligh.objects.filter( sath=parent_user.sath, tabligh=tabligh).first() if soode_sath: parent_user.add_to_kif_daramad( soode_sath.soode_gheire_mostaghim, direct=False) HistoryIndirect.objects.create( montasher_konande=user, parent=parent_user, mablagh=soode_sath. soode_gheire_mostaghim) else: soode_sath = SoodeTabligh.objects.filter( sath=1, tabligh=tabligh).first() if soode_sath: user.add_to_kif_daramad(soode_sath.soode_mostaghim, direct=True) else: click.mablagh_har_click = tabligh_first_sath.mablagh_har_click click.save() if user.id != request.user.id: tabligh.tedad_click_shode += 1 tabligh.save() return render(request, 'system/Tabligh/Show_Tabligh.html', context={ "tabligh": tabligh, "montasher_konande": user, })
def setting(key, default): settings = TanzimatPaye.get_settings(key, default) return settings
def form_valid(self, form): accept = self.request.POST.get("accept", False) if not accept or accept == 'on': if not accept: messages.error(self.request, _("Please accept the rules")) return super(UserCreateView, self).form_invalid(form) else: messages.error(self.request, _("Wrong input")) return super(UserCreateView, self).form_invalid(form) form.instance.vazeyat = 1 if TanzimatPaye.get_settings(ACTIV_MOAREF, False) == '1': id_moaref = form.instance.code_moaref_id user = User.objects.get(pk=id_moaref) max_level = int( TanzimatPaye.get_settings(COUNT_LEVEL_NETWORK, False)) if user is not None: if int(user.sath) + 1 > max_level: messages.error(self.request, _("Level you exceeds max level")) return super(UserCreateView, self).form_invalid(form) form.instance.sath = user.sath + 1 if user.list_parent is not None: jsonDec = json.decoder.JSONDecoder() parents = jsonDec.decode(user.list_parent) parents.insert(0, [user.id]) json_parent = json.dumps(parents) new_user = form.save(commit=False) new_user.list_parent = json_parent new_user.save() else: parent = [] parent.append([user.id]) json_parent = json.dumps(parent) new_user = form.save(commit=False) new_user.list_parent = json_parent new_user.save() else: messages.error(self.request, _("Referral Code is wrong")) return super(UserCreateView, self).form_invalid(form) else: if form.instance.code_moaref is not None: id_moaref = form.instance.code_moaref_id user = User.objects.get(pk=id_moaref) max_level = int( TanzimatPaye.get_settings(COUNT_LEVEL_NETWORK, False)) if user is not None: if int(user.sath) + 1 > max_level: messages.error(self.request, _("Level you exceeds max level")) return super(UserCreateView, self).form_invalid(form) form.instance.sath = user.sath + 1 if user.list_parent is not None: jsonDec = json.decoder.JSONDecoder() parents = jsonDec.decode(user.list_parent) parents.insert(0, [user.id]) json_parent = json.dumps(parents) new_user = form.save(commit=False) new_user.list_parent = json_parent new_user.save() else: parent = [] parent.append([user.id]) json_parent = json.dumps(parent) new_user = form.save(commit=False) new_user.list_parent = json_parent new_user.save() else: messages.error(self.request, _("Referral Code is wrong")) return super(UserCreateView, self).form_invalid(form) else: form.instance.sath = 1 return super(UserCreateView, self).form_valid(form)
def form_valid(self, form): form.instance.code_tabligh_gozaar_id = self.request.user.id t = form.instance.text.__len__() max_t = int(TanzimatPaye.get_settings(TAIEN_MEGHDAR_MATLAB, False)) if t > max_t: messages.error(self.request, _("Ad text is too long")) return super(TablighCreateView, self).form_invalid(form) if TanzimatPaye.get_settings(TAIED_KHODKAR_TABLIGH, False) == '1': form.instance.vazeyat = 1 else: form.instance.vazeyat = 3 r = form.instance.code_pelan.gheymat kife_pool = self.request.user.get_kif_kif_pool() pool = kife_pool.current_balance if pool < r: messages.error(self.request, _("Your balance is too low")) return super(TablighCreateView, self).form_invalid(form) if not TanzimatPaye.get_settings(CLICK_IS_CHANGEABLE, 0): form.instance.mablagh_har_click = form.instance.code_pelan.gheymat / form.instance.code_pelan.tedad_click form.instance.tedad_click = form.instance.code_pelan.tedad_click else: form.instance.mablagh_har_click = form.instance.code_pelan.gheymat / form.instance.tedad_click form.instance.mablagh_tabligh = form.instance.code_pelan.gheymat random_string = list( self.random_string(12) + str(self.request.user.id)) random.shuffle(random_string) random.shuffle(random_string) form.instance.random_url = ''.join(random_string) form = super(TablighCreateView, self).form_valid(form) try: kife_pool.current_balance = pool - r kife_pool.save() except Exception as e: # todo make sure balance is reduced print(e) messages.error(self.request, _("While creating the Ad some problem occurred")) return super(TablighCreateView, self).form_invalid(form) tedad_sath_shabake = TanzimatPaye.get_settings(COUNT_LEVEL_NETWORK, 0) sode_modir = TanzimatPaye.get_settings(SODE_MODIR, 0) soode_admin_kol = ((self.object.mablagh_tabligh * sode_modir) / 100) soode_admin = ((self.object.mablagh_har_click * sode_modir) / 100) pool_ezafe = self.object.mablagh_har_click - soode_admin User.objects.filter( is_superuser=True).first().add_to_kif_pool(soode_admin_kol) SoodeTabligh.objects.get_or_create(sath=0, tabligh=self.object, defaults={ "sath": 0, "tabligh": self.object, "soode_mostaghim": soode_admin_kol, "soode_gheire_mostaghim": 0, }) if tedad_sath_shabake == 0: SoodeTabligh.objects.get_or_create(sath=1, tabligh=self.object, defaults={ "sath": 1, "tabligh": self.object, "soode_mostaghim": pool_ezafe, "soode_gheire_mostaghim": 0, }) else: sum = 0 for i in range(tedad_sath_shabake): sath = i + 1 settings_sood = TanzimatPaye.get_settings(SATH + str(sath), 0) if settings_sood == 0: sood = 0 else: sood = (pool_ezafe * settings_sood) / 100 if settings_sood + sum == 0: sood_gheir_mostaghim = 0 else: sood_gheir_mostaghim = (pool_ezafe * (settings_sood + sum)) / 100 SoodeTabligh.objects.get_or_create( sath=sath, tabligh=self.object, defaults={ "sath": sath, "tabligh": self.object, "soode_mostaghim": pool_ezafe - sood_gheir_mostaghim, "soode_gheire_mostaghim": sood, }) sum += settings_sood messages.success(self.request, _("Your Ad is created")) return form
def get_least_balance(): if self.least_balance is None: self.least_balance = TanzimatPaye.get_settings( LEAST_BALANCE_REQUIRED, 0) return self.least_balance