Ejemplo n.º 1
0
def advanced_search(request, reset=False):
    marketplace = request.marketplace

    if reset:
        form = AdvancedSearchForm(marketplace=marketplace)
    else:
        form = AdvancedSearchForm(marketplace=marketplace, data=request.GET)

    if request.GET.get("do"):

        result_list = []
        if form.is_valid():

            result_list = form.search()

            pager = Paginator(result_list,
                              settings.HAYSTACK_SEARCH_RESULTS_PER_PAGE)

            try:
                page = int(request.GET.get("page", "1"))
            except:
                page = 1

            try:
                paginator = pager.page(page)
            except (EmptyPage, InvalidPage):
                raise Http404

            paged = (pager.num_pages > 1)

            return render_to_response(
                "%s/buy/advanced_search_results.html" %
                marketplace.template_prefix, {
                    "result_list": paginator,
                    "form": form,
                    "pages": pager.page_range,
                    "paged": paged,
                    "total": pager.count,
                    "view_mode": form.cleaned_data["view_by"]
                }, RequestContext(request))

    form_helper = FormHelper()
    layout = Layout(
        Fieldset("", "q"),
        Fieldset("", Row("categories", "subcategories")),
        Fieldset("", "include"),
        Fieldset("", Row("from_price", "to_price")),
        Fieldset("", "sort"),
        Fieldset("", "view_by"),
    )
    form_helper.add_layout(layout)
    submit = Submit("do", _("Search"))
    submit.field_classes = "button_primary"
    form_helper.add_input(submit)

    return render_to_response(
        "%s/buy/advanced_search.html" % marketplace.template_prefix, {
            "form": form,
            "helper": form_helper
        }, RequestContext(request))
Ejemplo n.º 2
0
def advanced_search(request, reset=False):
    marketplace = request.marketplace

    if reset:
        form = AdvancedSearchForm(marketplace=marketplace)
    else:
        form = AdvancedSearchForm(marketplace=marketplace, data=request.GET)


    if request.GET.get("do"):

        result_list = []
        if form.is_valid():
    
            result_list = form.search()
            
            pager = Paginator(result_list, settings.HAYSTACK_SEARCH_RESULTS_PER_PAGE)

            try:
                page = int(request.GET.get("page", "1"))
            except:
                page = 1

            try:
                paginator = pager.page(page)
            except (EmptyPage, InvalidPage):
                raise Http404

            paged = (pager.num_pages > 1)

            return render_to_response(
                "%s/buy/advanced_search_results.html" % marketplace.template_prefix, 
                {"result_list": paginator, "form": form,  
                 "pages": pager.page_range, "paged": paged, "total": pager.count, 
                 "view_mode": form.cleaned_data["view_by"]}, RequestContext(request))

    form_helper = FormHelper()
    layout = Layout(
        Fieldset("", "q"),
        Fieldset("", Row("categories", "subcategories")),
        Fieldset("", "include"),
        Fieldset("", Row("from_price", "to_price")),
        Fieldset("", "sort"),
        Fieldset("", "view_by"),
    )
    form_helper.add_layout(layout)
    submit = Submit("do", _("Search"))
    submit.field_classes = "button_primary"
    form_helper.add_input(submit)

    return render_to_response(
        "%s/buy/advanced_search.html" % marketplace.template_prefix, 
        {"form": form, "helper": form_helper} , RequestContext(request))
Ejemplo n.º 3
0
class MuFlatpageAddForm(muaccounts.forms.AddFormMixin, forms.ModelForm):

    # this displays how to attach a formHelper to your forms class.
    helper = FormHelper()
    helper.add_input(Submit('submit', _('Create')))
    helper.add_input(Submit('_cancel', _('Cancel')))
    is_multipart = True

    class Meta:
        model = MUFlatPage

    def __init__(self, *args, **kwargs):
        super(MuFlatpageAddForm, self).__init__(*args, **kwargs)
        self.fields['content'].widget = tinymce_widgets.TinyMCE()
        self.fields['sites'].widget = forms.MultipleHiddenInput()
Ejemplo n.º 4
0
    def test_uni_form_helper_inputs(self):
        form_helper = FormHelper()
        submit = Submit('my-submit', 'Submit', css_class="button white")
        reset = Reset('my-reset', 'Reset')
        hidden = Hidden('my-hidden', 'Hidden')
        button = Button('my-button', 'Button')
        form_helper.add_input(submit)
        form_helper.add_input(reset)
        form_helper.add_input(hidden)
        form_helper.add_input(button)

        template = get_template_from_string(u"""
            {% load uni_form_tags %}
            {% uni_form form form_helper %}
        """)
        c = Context({'form': TestForm(), 'form_helper': form_helper})
        html = template.render(c)

        self.assertTrue('class="submit submitButton button white"' in html)
        self.assertTrue('id="submit-id-my-submit"' in html)

        self.assertTrue('class="reset resetButton"' in html)
        self.assertTrue('id="reset-id-my-reset"' in html)

        self.assertTrue('name="my-hidden"' in html)

        self.assertTrue('class="button"' in html)
        self.assertTrue('id="button-id-my-button"' in html)
Ejemplo n.º 5
0
    def helper(self):
        helper = FormHelper()
        helper.add_input(Submit('submit', _('Search')))

        helper.form_action = reverse('search:search')
        helper.form_method = 'get'
        return helper
Ejemplo n.º 6
0
def view_helper(request):
    # Create the form
    if request.method == "POST":
        form = TestForm(request.POST)
    else:
        form = TestForm()

    # create a formHelper
    helper = FormHelper()

    # Add in a class and id
    helper.form_id = 'this-form-rocks'
    helper.form_class = 'search'

    # add in a submit and reset button
    submit = Submit('search', 'search this site')
    helper.add_input(submit)
    reset = Reset('reset', 'reset button')
    helper.add_input(reset)
    hidden = Hidden('not-seen', 'hidden value stored here')
    helper.add_input(hidden)

    # create the response dictionary
    response_dictionary = {
        'form': form,
        'helper': helper,
        'title': 'view helper test'
    }

    return render_to_response('test_app/generic_form_test.html',
                              response_dictionary,
                              context_instance=RequestContext(request))
Ejemplo n.º 7
0
def csrf_token_test(request):

    # Create the form
    if request.method == "POST":
        form = TestForm(request.POST)
    else:
        form = TestForm()

    helper = FormHelper()
    helper.use_csrf_protection = True

    # add in a submit and reset button
    success = Submit('check-csrf', 'Check CSRF')
    helper.add_input(success)

    # create the response dictionary
    response_dictionary = {
        'form': form,
        'helper': helper,
        'title': 'CSRF token test'
    }

    return render_to_response('test_app/generic_form_test.html',
                              response_dictionary,
                              context_instance=RequestContext(request))
Ejemplo n.º 8
0
def profile_edit(request, template_name="profiles/profile_edit.html"):

    helper = FormHelper()
    submit = Submit('edit', 'Edit')
    helper.add_input(submit)
    reset = Reset('reset', 'Reset')
    helper.add_input(reset)

    profile = get_object_or_404(Profile, user=request.user)
    form = ProfileForm(request.POST or None, instance=profile)

    if form.is_valid():
        form.save()
        msg = 'Profile edited'
        messages.add_message(request, messages.INFO, msg)
        return HttpResponseRedirect(
            reverse("profile_detail",
                    kwargs={"username": profile.user.username}))

    return render_to_response(template_name, {
        "profile": profile,
        "form": form,
        "helper": helper,
    },
                              context_instance=RequestContext(request))
Ejemplo n.º 9
0
def view_helper_set_action(request):

    # Create the form
    form = TestForm()

    # create a formHelper
    helper = FormHelper()

    # add in a submit and reset button
    submit = Submit('send-away', 'Send to other page')
    helper.add_input(submit)

    helper.form_action = 'view_helper'
    helper.form_method = 'GET'

    # create the response dictionary
    response_dictionary = {
        'form': form,
        'helper': helper,
        'title': 'view helper action'
    }

    return render_to_response('test_app/generic_form_test.html',
                              response_dictionary,
                              context_instance=RequestContext(request))
Ejemplo n.º 10
0
def create_game(request):
    if request.method == 'POST':
        form = CreateGameForm(request.user, request.POST)
        if form.is_valid():
            game = form.create_game()
            return HttpResponseRedirect(game.get_absolute_url())
    else:
        form = CreateGameForm(request.user)

    # add in a submit button
    helper = FormHelper()
    submit = Submit('create', 'create a new game')
    helper.add_input(submit)

    # XXX need friends model
    friends = User.objects.exclude(pk=request.user.pk)
    friends_json = json.dumps(dict(
        (u.pk, escape(u.username)) for u in friends))

    return {
        'form': form,
        'helper': helper,
        'friends': friends_json,
        'username': request.user.username
    }
Ejemplo n.º 11
0
class AdsenseBlockChangeForm(muaccounts.forms.AddFormMixin,
                             muaccounts.forms.ChangeFormMixin,
                             forms.ModelForm):

    # this displays how to attach a formHelper to your forms class.
    helper = FormHelper()
    helper.add_input(Submit('submit', _('Submit')))
    helper.add_input(Submit('_cancel', _('Cancel')))
    is_multipart = True

    class Meta:
        model = AdsenseBlock

    def __init__(self, *args, **kwargs):
        super(AdsenseBlockChangeForm, self).__init__(*args, **kwargs)
        if self.instance.has_default():
            self.fields['name'].widget = ReadOnlyWidgetWithHidden()
Ejemplo n.º 12
0
class LayoutTestForm(forms.Form):

    is_company = forms.CharField(label="company",
                                 required=False,
                                 widget=forms.CheckboxInput())
    email = forms.CharField(label="email",
                            max_length=30,
                            required=True,
                            widget=forms.TextInput())
    password1 = forms.CharField(label="password",
                                max_length=30,
                                required=True,
                                widget=forms.PasswordInput())
    password2 = forms.CharField(label="re-enter password",
                                max_length=30,
                                required=True,
                                widget=forms.PasswordInput())
    first_name = forms.CharField(label="first name",
                                 max_length=30,
                                 required=True,
                                 widget=forms.TextInput())
    last_name = forms.CharField(label="last name",
                                max_length=30,
                                required=True,
                                widget=forms.TextInput())

    # Attach a formHelper to your forms class.
    helper = FormHelper()

    # create some HTML that you want in the page
    style = """
    <style>
        .formRow {
            color: red;
        }
    </style>
    
    """
    # create the layout object
    layout = Layout(
        # first fieldset shows the company
        Fieldset('', 'is_company'),

        # second fieldset shows the contact info
        Fieldset(
            'Contact details',
            HTML(style),
            'email',
            Row('password1', 'password2'),
            'first_name',
            'last_name',
        ))

    helper.add_layout(layout)

    submit = Submit('add', 'Add this contact')
    helper.add_input(submit)
Ejemplo n.º 13
0
    def set_helper(self):
        print "AadhaarLoginForm.helper In helper"
        #form = AadhaarLoginForm()
        helper = FormHelper()
        reset = Reset('', 'Reset')
        helper.add_input(reset)
        submit = Submit('', 'Authenticate')
        helper.add_input(submit)
        helper.form_action = '/aadhaar/authenticate/' + self.detail
        helper.form_method = 'POST'
        helper.form_class = "blueForms"

        style = """
<style>
fieldset.formRow {
         margin-bottom: 1em;
         border-width: 0 0 1px 0;
         border-color:#CCCCCC;
         border-style:solid;
}
</style>
"""
        common_layout = Layout(
            Fieldset(
                'Required Parameters',
                'aadhaar_id',
                'aadhaar_attributes',
            ))
        pi_layout = Layout(
            Fieldset(
                "Personally Identifiable Information",
                'aadhaar_pi_match',
                'aadhaar_name',
                'aadhaar_dob',
                'aadhaar_age',
                'aadhaar_gender',
                'aadhaar_email',
                'aadhaar_phone',
            ))
        pa_layout = Layout(
            Fieldset("Address", 'aadhaar_pa_match', 'aadhaar_co',
                     'aadhaar_house', 'aadhaar_street', 'aadhaar_landmark',
                     'aadhaar_locality', 'aadhaar_vtc', 'aadhaar_subdist',
                     'aadhaar_district', 'aadhaar_state', 'aadhaar_pincode',
                     'aadhaar_postoffice'))

        if self.detail == "personal":
            layout = Layout(common_layout, pi_layout)
        elif self.detail == "address":
            layout = Layout(common_layout, pa_layout)
        else:
            layout = Layout(common_layout, pi_layout, pa_layout)

        helper.layout = layout

        self.helper = helper
Ejemplo n.º 14
0
 def helper(self):
     form = CreateClientForm()
     helper = FormHelper()
     reset = Reset('', 'Reset')
     helper.add_input(reset)
     submit = Submit('', 'Create Client')
     helper.add_input(submit)
     helper.form_action = '/account/clients'
     helper.form_method = 'POST'
     return helper
Ejemplo n.º 15
0
 def helper(self):
     form = LoginForm()
     helper = FormHelper()
     reset = Reset('', 'Reset')
     helper.add_input(reset)
     submit = Submit('', 'Authenticate')
     helper.add_input(submit)
     helper.form_action = '/account/aadhaar/authenticate'
     helper.form_method = 'POST'
     return helper
Ejemplo n.º 16
0
 def helper(self):
     form = LoginForm()
     helper = FormHelper()
     reset = Reset('', 'Reset')
     helper.add_input(reset)
     submit = Submit('', 'Log In')
     helper.add_input(submit)
     helper.form_action = '/account/login'
     helper.form_method = 'POST'
     return helper
Ejemplo n.º 17
0
 def set_helper(self):
     helper = FormHelper()
     reset = Reset('', 'Reset')
     helper.add_input(reset)
     submit = Submit('', 'Submit')
     helper.add_input(submit)
     helper.form_action = ''
     helper.form_method = 'POST'
     helper.form_class = "blueForms"
     self.helper = helper
Ejemplo n.º 18
0
 def helper(self):
     form = SignupForm()
     helper = FormHelper()
     reset = Reset('', 'Reset')
     helper.add_input(reset)
     submit = Submit('', 'Sign Up')
     helper.add_input(submit)
     helper.form_action = '/account/signup'
     helper.form_method = 'POST'
     return helper
Ejemplo n.º 19
0
class MUAccountForm(MUAccountBaseForm):

    # this displays how to attach a formHelper to your forms class.
    helper = FormHelper()
    helper.add_input(Submit('submit', _('Save')))
    is_multipart = True

    def __init__(self, *args, **kwargs):
        super(MUAccountForm, self).__init__(*args, **kwargs)
        if 'owner' in self.fields:
            self.fields['owner'].widget = forms.HiddenInput()
Ejemplo n.º 20
0
class InvitationRequestForm(forms.ModelForm):
    # this displays how to attach a formHelper to your forms class.
    helper = FormHelper()
    helper.add_input(Submit('submit', _('Send request')))

    def __init__(self, *args, **kwargs):
        super(InvitationRequestForm, self).__init__(*args, **kwargs)
        if 'muaccount' in self.fields:
            self.fields['muaccount'].widget = forms.HiddenInput()

    class Meta:
        model = InvitationRequest
        fields = ('email', 'notes', 'muaccount')
Ejemplo n.º 21
0
    def helper(self):

        print "ProfileForm.helper In helper"
        form = ProfileForm()
        helper = FormHelper()
        reset = Reset('', 'Reset')
        helper.add_input(reset)
        submit = Submit('', 'Update')
        helper.add_input(submit)
        helper.form_action = '/account/profile/edit'
        helper.form_method = 'POST'
        helper.form_class = "blueForms"

        return helper
Ejemplo n.º 22
0
class HelperTestForm(TestForm):
    
    # Attach a formHelper to your forms class.
    helper = FormHelper()
    
    # Add in a class and id
    helper.form_id = 'this-form-rocks'
    helper.form_class = 'search'
    
    # add in a submit and reset button
    submit = Submit('enter','enter some data')
    helper.add_input(submit)
    reset = Reset('reset','reset button')
    helper.add_input(reset)
Ejemplo n.º 23
0
    def test_layout_within_layout(self):
        form_helper = FormHelper()
        form_helper.add_layout(
            Layout(
                Layout(
                    MultiField(
                        "Some company data",
                        'is_company',
                        'email',
                        css_id="multifield_info",
                    ), ),
                Column(
                    'first_name',
                    # 'last_name', Missing a field on purpose
                    css_id="column_name",
                    css_class="columns",
                ),
                ButtonHolder(Submit('Save', 'Save',
                                    css_class='button white'), ),
                Div(
                    'password1',
                    'password2',
                    css_id="custom-div",
                    css_class="customdivs",
                )))

        template = get_template_from_string(u"""
            {% load uni_form_tags %}
            {% uni_form form form_helper %}
        """)
        c = Context({'form': TestForm(), 'form_helper': form_helper})
        html = template.render(c)

        self.assertTrue('multiField' in html)
        self.assertTrue('formColumn' in html)
        self.assertTrue('id="multifield_info"' in html)
        self.assertTrue('id="column_name"' in html)
        self.assertTrue('class="formColumn columns"' in html)
        self.assertTrue('class="buttonHolder">' in html)
        self.assertTrue('input type="submit"' in html)
        self.assertTrue('name="save"' in html)
        self.assertTrue('id="custom-div"' in html)
        self.assertTrue('class="customdivs"' in html)
        self.assertTrue('last_name' in html)
Ejemplo n.º 24
0
    def test_uni_form_helper_inputs(self):

        form_helper = FormHelper()
        submit = Submit('my-submit', 'Submit')
        reset = Reset('my-reset', 'Reset')
        hidden = Hidden('my-hidden', 'Hidden')
        button = Button('my-button', 'Button')
        form_helper.add_input(submit)
        form_helper.add_input(reset)
        form_helper.add_input(hidden)
        form_helper.add_input(button)

        c = Context({'form': TestForm(), 'form_helper': form_helper})

        template = get_template_from_string("""
{% load uni_form_tags %}
{% uni_form form form_helper %}
        """)
        html = template.render(c)
        '''
Ejemplo n.º 25
0
def profile_edit(request, template_name="profiles/profile_edit.html"):

    profile = request.user.get_profile()
    form = ProfileForm(request.POST or None, instance=profile)

    if form.is_valid():
        print form.instance.__dict__
        form.save()
        msg = 'Profile edited'
        messages.add_message(request, messages.INFO, msg)
        return HttpResponseRedirect(reverse("profile_detail", kwargs={"github_account": profile.github_account}))

    # TODO - move this to a template
    github_account = """
    <div
        id="div_id_github_account"
        class="ctrlHolder"><label for="id_github_account" >Github account</label><strong>{0}</strong></div>
    """.format(profile.github_account)

    helper = FormHelper()
    helper.form_class = "profile-edit-form"
    helper.layout = Layout(
        Fieldset(
            '',
            HTML(github_account),
            'bitbucket_url',
            'google_code_url',
        ),
        ButtonHolder(
            Submit('edit', 'Edit', css_class="awesome forestgreen"),
        )
    )

    return render(request, template_name,
        {
            "profile": profile,
            "form": form,
            "helper": helper,
        })
Ejemplo n.º 26
0
    def helper(self):
        helper = FormHelper()
        helper.add_input(Submit('submit', _('Submit!')))

        layout = Layout(
                Fieldset('', 
                    'name', 'description'),
                Fieldset(_('When and where'),
                    'date', 'time',
                    'town', 'other_town',
                    'place',
                    ),
                Fieldset(_('Details'),
                    'organizer', 'link', 'contact', 'image',
                    ),
                )

        helper.add_layout(layout)
        helper.form_action = reverse('agenda:create')
        helper.form_method = 'post'
        helper.form_style = 'inline'
        return helper
Ejemplo n.º 27
0
def message_response(request):

    if request.method == "POST":
        form = MessageResponseForm(request.POST)
    else:
        form = MessageResponseForm()

    # create a formHelper
    helper = FormHelper()

    # add in a error and success button
    error = Submit('generate-result', 'Generate Error')
    helper.add_input(error)

    # create the response dictionary
    response_dictionary = {
        'form': form,
        'helper': helper,
        'title': 'Message response test'
    }

    return render_to_response('test_app/generic_form_test.html',
                              response_dictionary,
                              context_instance=RequestContext(request))
Ejemplo n.º 28
0
 except MissingRedirectURI, e:
     return HttpResponseRedirect("/oauth2/missing_redirect_uri")
 except AuthorizationException, e:
     # The request is malformed or invalid. Automatically
     # redirects to the provided redirect URL.
     return authorizer.error_redirect()
 if request.method == 'GET':
     # Make sure the authorizer has validated before requesting the client
     # or access_ranges as otherwise they will be None.
     template = {
         "client": authorizer.client,
         "access_ranges": authorizer.access_ranges
     }
     template["form"] = AuthorizeForm()
     helper = FormHelper()
     no_submit = Submit('connect', 'No')
     helper.add_input(no_submit)
     yes_submit = Submit('connect', 'Yes')
     helper.add_input(yes_submit)
     helper.form_action = '/oauth2/authorize?%s' % authorizer.query_string
     helper.form_method = 'POST'
     template["helper"] = helper
     return render_to_response('oauth2/authorize.html', template,
                               RequestContext(request))
 elif request.method == 'POST':
     form = AuthorizeForm(request.POST)
     if form.is_valid():
         if request.POST.get("connect") == "Yes":
             return authorizer.grant_redirect()
         else:
             return authorizer.error_redirect()
Ejemplo n.º 29
0
class PrepaidStartForm(PrepaidForm):
    helper = FormHelper()
    submit = Submit('activate', _(u'Activate'))
    helper.add_input(submit)

    username = forms.RegexField(
        regex=r'^\w+$',
        max_length=30,
        widget=forms.TextInput(attrs=attrs_dict),
        label=_(u"Username"),
        error_messages={
            'invalid':
            _(u"This value must contain only letters, numbers and underscores."
              )
        })
    email = forms.EmailField(label=_(u"Email address"), required=False)
    password1 = forms.CharField(widget=forms.PasswordInput(attrs=attrs_dict,
                                                           render_value=False),
                                label=_(u"Password"))
    password2 = forms.CharField(widget=forms.PasswordInput(attrs=attrs_dict,
                                                           render_value=False),
                                label=_(u"Password (again)"))
    tos = forms.BooleanField(
        widget=forms.CheckboxInput(attrs=attrs_dict),
        label=_(u'I have read and agree to the Terms of Service'),
        error_messages={
            'required': _(u"You must agree to the terms to register")
        })
    first_name = forms.CharField(label=_(u"first name"),
                                 max_length=30,
                                 required=False,
                                 widget=forms.TextInput())
    last_name = forms.CharField(label=_(u"last name"),
                                max_length=30,
                                required=False,
                                widget=forms.TextInput())

    detail_help = _(u'Note. An optional field to fill.')
    email_help = _(
        u'Note. Your email address will not show anyone else. If you do not fill in this field, and forget your password you can not recover it.'
    )
    password_help = _(
        u'From 6 to 20 characters, only letters and numbers. Note. Your password will not be shown to anyone else.'
    )
    layout = Layout(
        Fieldset(
            u'',
            'prnumber',
            'prcode',
        ),
        Fieldset(
            u'',
            'username',
            Row('password1', 'password2'),
            HTML(password_help),
        ),

        # second fieldset shows the contact info
        Fieldset(
            _(u'Additional Information'),
            HTML(detail_help),
            'email',
            HTML(email_help),
            'first_name',
            'last_name',
        ),
        Fieldset(
            u'',
            'tos',
        ))

    helper.add_layout(layout)

    def __init__(self, request, *args, **kwargs):
        super(PrepaidStartForm, self).__init__(*args, **kwargs)
        self.user = request.user
        self.ip = request.META['REMOTE_ADDR']
        self.user_exits = True

    def clean_username(self):
        """
        Validate that the username is alphanumeric and is not already
        in use.

        """
        try:
            user = User.objects.get(
                username__iexact=self.cleaned_data['username'])
        except User.DoesNotExist:
            return self.cleaned_data['username']
        self.user_exits = False
        raise forms.ValidationError(
            _(u"A user with that username already exists."))

    @transaction.commit_on_success
    def save_prepaid(self, card):
        try:
            #log.debug('email({0})'.format(self.data.get('email')))
            new_user = User.objects.create_user(self.data.get('username'), '',
                                                self.data.get('password1'))
            new_user.is_active = True
            user_group = Group.objects.get(name="user")
            new_user.groups.add(user_group)
            new_user.save()
            new_endpoint = Endpoint.objects.create_endpoint(
                new_user, self.data.get('prnumber'))
            #

            bal = Balance.objects.get(
                accountcode__username__exact=self.data.get('username'))
            pay_date = datetime.datetime.now()
            name = 'add:::lincom3000:::prepaid:::{0}'.format(card.pk)
            comments = 'Added Start Paskage'
            method = 'from site prepaid'

            code = "{0}{1}{2}".format(name, comments, method)
            mcode = hashlib.md5()
            mcode.update(code.upper())

            temp_txt = "".join([str(random.randint(0, 9)) for i in range(20)])
            pay_transaction_id = "{0}X{1}".format(int(time.time()), temp_txt)
            up_ball = Balance.objects.filter(
                accountcode__username__exact=self.data.get('username')).update(
                    cash=F('cash') + card.start_balance)
            #log.debug("Prepaid enabled {0}".format(card.enabled))
            b = BalanceHistory.objects.create(
                name=name,
                accountcode=bal,
                site=bal.site,
                pay_date=pay_date,
                method=method,
                amount=Decimal(card.start_balance),
                transaction_id=pay_transaction_id,
                details=comments,
                reason_code=mcode.hexdigest())
            b.success = True
            b.save()
            card.enabled = True
            card.save()
            return new_endpoint
        except:
            #log.error(e)
            #transaction.rollback()
            history = PrepaidLog.objects.create_history(
                self.ip,
                self.data.get("prnumber"),
                code=self.data.get("prcode"),
                st=4,
                nt=2)
            return False

    def clean(self):
        fl_error = False
        nt = 3
        st = 4
        log.debug("len username: {0} user_exits:{1} tos:{2}".format(
            self.data.get('username'), self.user_exits, self.data.get('tos')))

        if self.user_exits and self.data.get('username') is not None and len(
                self.data.get('username')) > 0 and self.data.get(
                    'tos') is not None:
            if 'password1' in self.cleaned_data and 'password2' in self.cleaned_data:
                if self.cleaned_data['password1'] != self.cleaned_data[
                        'password2']:
                    raise forms.ValidationError(
                        _(u"The two password fields didn't match."))
                else:
                    try:
                        #log.debug("number: {0} (user:{1}) ip: {2}".format(self.data.get("prnumber"), self.user, self.ip))
                        prc = Prepaid.objects.get(
                            num_prepaid__iexact=self.data.get("prnumber"))
                    except Prepaid.DoesNotExist:
                        #log.error("prnumber: {0} (user:{1}) ip: {2}".format(self.data.get("prnumber"), self.user, self.ip))
                        history = PrepaidLog.objects.create_history(
                            self.ip, self.data.get("prnumber"))
                        #log.error(history.st)
                        raise forms.ValidationError(
                            _(u"Incorrect number or the code of the card."))
                    try:
                        #log.debug("number: {0} code:{3} (user:{1}) ip: {2}".format(self.data.get("prnumber"), self.user, self.ip, self.data.get("prcode")))
                        card = Prepaid.objects.is_card(
                            self.data.get("prnumber"), self.data.get("prcode"))
                        #log.debug("card: {0}".format(card))
                        if card:
                            if card.enabled:
                                st = 3
                                nt = card.nt
                                fl_error = True
                            elif card.is_valid:
                                st = 1
                                nt = card.nt
                                fl_error = True
                            elif card.nt == 2:

                                log.debug("RUN save_prepaid")
                                new_endpoint = self.save_prepaid(card)
                                if new_endpoint:
                                    nt = card.nt
                                    st = 5
                                else:
                                    raise forms.ValidationError(
                                        _(u"System error no activate prepaid card!"
                                          ))
                            else:
                                st = 6
                                nt = card.nt
                                fl_error = True
                        else:
                            st = 2
                            fl_error = True
                    except:
                        #log.error("number: {0} (user:{1}) ip: {2}".format(self.data.get("prnumber"), self.user, self.ip))
                        #raise forms.ValidationError(_("System error no activate prepaid card!"))
                        raise forms.ValidationError(
                            _(u"Incorrect number or the code of the card."))
                    history = PrepaidLog.objects.create_history(
                        self.ip,
                        self.data.get("prnumber"),
                        code=self.data.get("prcode"),
                        st=st,
                        nt=nt)
                    if fl_error:
                        raise forms.ValidationError(
                            _(u"Incorrect number or the code of the card."))
            return self.cleaned_data
Ejemplo n.º 30
0
class PrepaidCodeForm(PrepaidForm):
    helper = FormHelper()
    submit = Submit('activate', _(u'Activate'))
    helper.add_input(submit)

    #log.debug(request)
    def __init__(self, request, *args, **kwargs):
        super(PrepaidCodeForm, self).__init__(*args, **kwargs)
        self.user = request.user
        self.ip = request.META['REMOTE_ADDR']

    @transaction.commit_on_success
    def save_prepaid(self, res):
        try:
            bal = Balance.objects.get(accountcode__username__exact=self.user)
            pay_date = datetime.datetime.now()
            name = 'add:::lincom3000:::prepaid:::{0}'.format(res.pk)
            comments = 'Added prepaid card'
            method = 'from site prepaid'

            code = "{0}{1}{2}".format(name, comments, method)
            mcode = hashlib.md5()
            mcode.update(code.upper())

            temp_txt = "".join([str(random.randint(0, 9)) for i in range(20)])
            pay_transaction_id = "{0}X{1}".format(int(time.time()), temp_txt)
            transaction.commit()
            up_ball = Balance.objects.filter(
                accountcode__username__exact=self.user).update(
                    cash=F('cash') + res.start_balance)
            res.enabled = True
            res.save()
            log.debug("Prepaid enabled {0}".format(res.enabled))
            b = BalanceHistory.objects.create(
                name=name,
                accountcode=bal,
                site=bal.site,
                pay_date=pay_date,
                method=method,
                amount=Decimal(res.start_balance),
                transaction_id=pay_transaction_id,
                details=comments,
                reason_code=mcode.hexdigest())
            b.success = True
            b.save()
            return b
        except:
            #transaction.rollback()
            history = PrepaidLog.objects.create_history(
                self.ip,
                self.data.get("prnumber"),
                code=self.data.get("prcode"),
                st=4,
                nt=1)
            return False
        #else:
        #    transaction.commit()

    def clean(self):
        """
        Verify 
        """
        fl_error = False
        nt = 3
        st = 4
        try:
            #log.debug("number: {0} (user:{1}) ip: {2}".format(self.data.get("prnumber"), self.user, self.ip))
            prc = Prepaid.objects.get(
                num_prepaid__iexact=self.data.get("prnumber"))
        except Prepaid.DoesNotExist:
            #log.error("prnumber: {0} (user:{1}) ip: {2}".format(self.data.get("prnumber"), self.user, self.ip))
            history = PrepaidLog.objects.create_history(
                self.ip, self.data.get("prnumber"), username=self.user)
            #log.error(history.st)
            raise forms.ValidationError(
                _(u"Incorrect number or the code of the card."))
        try:
            log.debug("number: {0} code:{3} (user:{1}) ip: {2}".format(
                self.data.get("prnumber"), self.user, self.ip,
                self.data.get("prcode")))
            card = Prepaid.objects.is_card(self.data.get("prnumber"),
                                           self.data.get("prcode"))
            #log.debug("card: {0}".format(card))
            if card:
                if card.enabled:
                    st = 3
                    nt = card.nt
                    fl_error = True
                elif card.is_valid:
                    st = 1
                    nt = card.nt
                    fl_error = True
                elif card.nt == 1:
                    log.debug("RUN save_prepaid")
                    new_endpoint = self.save_prepaid(card)
                    if new_endpoint:
                        nt = card.nt
                        st = 5
                    else:
                        raise forms.ValidationError(
                            _(u"System error no activate prepaid card!"))
                else:
                    st = 6
                    nt = card.nt
                    fl_error = True
            else:
                st = 2
                fl_error = True
        except:
            #log.error("number: {0} (user:{1}) ip: {2}".format(self.data.get("prnumber"), self.user, self.ip))
            #raise forms.ValidationError(_("System error no activate prepaid card!"))
            raise forms.ValidationError(
                _(u"Incorrect number or the code of the card."))
        #log.debug("st={0}".format(st))
        history = PrepaidLog.objects.create_history(
            self.ip,
            self.data.get("prnumber"),
            code=self.data.get("prcode"),
            st=st,
            nt=nt,
            username=self.user)
        if fl_error:
            raise forms.ValidationError(
                _(u"Incorrect number or the code of the card."))
        return self.cleaned_data
Ejemplo n.º 31
0
 def helper(self):
     helper = FormHelper()
     submit = Submit('register', 'Register')
     helper.add_input(submit)
     return helper