示例#1
0
	def render (self, request, dct):
		## Preconditions & preparation:
		results = msgs = None
		cls = self.__class__
		
		## Main:
		# instantiate form in one of several ways ...
		form_cls = cls.ToolForm
		# if the form has been submitted...
		if request.method == 'POST':
			form = form_cls (request.POST, request.FILES)
			# if the form is valid
			if form.is_valid():
				# get the clean data and do the work
				msgs, results = self.process_form (form.cleaned_data)
			else:
				msgs, results = (
					messages.Error ('there was a problem processing the form'),
				)
		else:
			# if you're coming to the form anew, make an unbound form
			form = form_cls()

		helper = FormHelper()
		
		# Add in a class and id
		helper.form_id = 'this-form-rocks'
		helper.form_class = 'tool_form'
		
		# if necessary, do fieldsets
		if cls.fieldsets:
			sets = []
			for field_pair in cls.fieldsets:
				if (isinstance (field_pair, basestring)):
					# if just a naked field name
					field_pair = ['', field_pair]
				sets.append (Fieldset (*field_pair))
			helper.add_layout (Layout(*sets))
					

		# add in submit actions and a reset button
		for button in cls.actions:
			submit = Submit (button[0], button[1])
			helper.add_input (submit)
		reset = Reset ('reset','Reset form')
		helper.add_input (reset)
		
		## Postconditions & return:
		context = self.context()
		context.update ({
			'identifier' : self.identifier,
			'title' : self.title,
			'description': self.description,
			'form': form,
			'results': results,
			'msgs': msgs,
			'helper': helper,
		})
		return render_to_response ('relais.amergin/tool.html', context,
			context_instance=RequestContext(request))
示例#2
0
def edit_job(request, object_id):
  context_vars = dict()
  context_vars['header'] = '%s %s' % (capfirst(_('job')), object_id)
  job = Job.objects.get(id=object_id)
  form = EditJobForm(job.to_dict())
  helper = FormHelper()
  helper.form_class = 'uniform'
  submit = Submit('save',_('save'))
  helper.add_input(submit)
  if request.method == "POST":
    form = EditJobForm(request.POST, request.FILES)
    if form.is_valid():
      job.state = form.cleaned_data['state']
      if form.cleaned_data['assigned']:
        job.assigned = []
        for assigned_id in form.cleaned_data['assigned']:
          try:
            job.assigned.append(Staff.objects.get(id=assigned_id))
          except ResponseStatusError:
            pass
      job.save()
      return HttpResponseRedirect(reverse('workflowmax-job', args=[job.id]))
  
  context_vars['form'] = form
  context_vars['helper'] = helper
  return direct_to_template(request, template='workflowmax/form.html', extra_context=context_vars)
示例#3
0
    def test_uni_form_formset(self):
        template = get_template_from_string(u"""
            {% load uni_form_tags %}
            {% uni_form testFormSet formset_helper %}
        """)
        
        form_helper = FormHelper()    
        form_helper.form_id = 'this-formset-rocks'
        form_helper.form_class = 'formsets-that-rock'
        form_helper.form_method = 'GET'
        form_helper.form_action = 'simpleAction'
                
        from django.forms.models import formset_factory
        TestFormSet = formset_factory(TestForm, extra = 3)
        testFormSet = TestFormSet()
        
        c = Context({'testFormSet': testFormSet, 'formset_helper': form_helper})
        html = template.render(c)        

        self.assertTrue('<form' in html)
        self.assertEqual(html.count('<form'), 1)
        self.assertTrue('class="uniForm formsets-that-rock"' in html)
        self.assertTrue('method="get"' in html)
        self.assertTrue('id="this-formset-rocks">' in html)
        self.assertTrue('action="%s"' % reverse('simpleAction') in html)
示例#4
0
def edit_staff(request, object_id):
  try:
    object_id = int(object_id)
  except ValueError:
    return HttpResponseRedirect(reverse('workflowmax-staff-list'))
  context_vars = dict()
  context_vars['header'] = capfirst(_('edit staff %d') % object_id)
  staff = Staff.objects.get(id=object_id)
  form = StaffForm(staff.to_dict())
  helper = FormHelper()
  helper.form_class = 'uniform'
  submit = Submit('save',_('save'))
  helper.add_input(submit)
  if request.method == "POST":
    form = StaffForm(request.POST, request.FILES)
    if form.is_valid():
      staff.name = form.cleaned_data['name']
      staff.address = form.cleaned_data['address']
      staff.phone = form.cleaned_data['phone']
      staff.mobile = form.cleaned_data['mobile']
      staff.email = form.cleaned_data['email']
      staff.payrollcode = form.cleaned_data['payrollcode']
      staff.save()
      return HttpResponseRedirect(reverse('workflowmax-staff', args=[staff.id]))
  
  context_vars['form'] = form
  context_vars['helper'] = helper
  return direct_to_template(request, template='workflowmax/form.html', extra_context=context_vars)
示例#5
0
    def test_uni_form_with_helper_attributes(self):
        form_helper = FormHelper()    
        form_helper.form_id = 'this-form-rocks'
        form_helper.form_class = 'forms-that-rock'
        form_helper.form_method = 'GET'
        form_helper.form_action = 'simpleAction'
    
        template = get_template_from_string(u"""
            {% load uni_form_tags %}
            {% uni_form form form_helper %}
        """)        

        # now we render it
        c = Context({'form': TestForm(), 'form_helper': form_helper})            
        html = template.render(c)        
        
        # Lets make sure everything loads right
        self.assertTrue('<form' in html)
        self.assertTrue('class="uniForm forms-that-rock"' in html)
        self.assertTrue('method="get"' in html)
        self.assertTrue('id="this-form-rocks">' in html)
        self.assertTrue('action="%s"' % reverse('simpleAction') in html)
        
        # now lets remove the form tag and render it again. All the True items above
        # should now be false because the form tag is removed.
        form_helper.form_tag = False 
        html = template.render(c)        
        self.assertFalse('<form' in html)        
        self.assertFalse('class="uniForm forms-that-rock"' in html)
        self.assertFalse('method="get"' in html)
        self.assertFalse('id="this-form-rocks">' in html)
示例#6
0
    def test_uni_form_helper_form_attributes(self):

        template = get_template_from_string("""
            {% load uni_form_tags %}
            {% uni_form form form_helper %}
        """)

        # First we build a standard form helper
        form_helper = FormHelper()
        form_helper.form_id = 'this-form-rocks'
        form_helper.form_class = 'forms-that-rock'
        form_helper.form_method = 'GET'

        # now we render it
        c = Context({'form': TestForm(), 'form_helper': form_helper})
        html = template.render(c)
        # Lets make sure everything loads right
        self.assertTrue("""<form""" in html)
        self.assertTrue("""class="uniForm forms-that-rock" """ in html)
        self.assertTrue("""method="get" """ in html)
        self.assertTrue("""id="this-form-rocks">""" in html)

        # now lets remove the form tag and render it again. All the True items above
        # should now be false because the form tag is removed.
        form_helper.form_tag = False
        c = Context({'form': TestForm(), 'form_helper': form_helper})
        html = template.render(c)
        self.assertFalse("""<form""" in html)
        self.assertFalse("""id="this-form-rocks">""" in html)
        self.assertFalse("""class="uniForm forms-that-rock" """ in html)
        self.assertFalse("""method="get" """ in html)
        self.assertFalse("""id="this-form-rocks">""" in html)
示例#7
0
文件: views.py 项目: lostgeek/Lettr
def new_letter(request):    
    data = {}

    if not request.method == 'POST':
        from datetime import date
        data = {'my_date':date.today(),
                }
        letter_form = LetterForm(data)
        letter_form.fields["sender"].queryset = Sender.objects.filter(owners__username=request.user.username)
    else:
        letter_form = LetterForm(request.POST)
        if letter_form.is_valid():
            letter = letter_form.save()
            ownership = Ownership_Letter.objects.create(owner=request.user, letter=letter)
            return redirect(letter)
        else:
            messages.error(request, _(u"Es gibt noch Fehler im Formular."))
    
    helper = FormHelper()

    helper.form_id = "foobar"
    helper.form_class = "search"

    submit = Submit("send", _(u"Absenden"))
    helper.add_input(submit)
    reset = Submit("reset", _(u"Zurücksetzen"))
    helper.add_input(reset)

    data['form'] = letter_form
    data['helper'] = helper
    data.update(csrf(request))
    return render_to_response("lettr/new_letter.html", data, context_instance=RequestContext(request))
示例#8
0
def edit_client(request, object_id):
  try:
    object_id = int(object_id)
  except ValueError:
    return HttpResponseRedirect(reverse('workflowmax-client-list'))
  context_vars = dict()
  context_vars['header'] = '%s %d' % (capfirst(_('client')), object_id)
  client = Client.objects.get(id=object_id)
  form = ClientForm(client.to_dict())
  helper = FormHelper()
  helper.form_class = 'uniform'
  submit = Submit('save',_('save'))
  helper.add_input(submit)
  if request.method == "POST":
    form = ClientForm(request.POST, request.FILES)
    if form.is_valid():
      client.name = form.cleaned_data['name']
      client.address = form.cleaned_data['address']
      client.postal_address = form.cleaned_data['postal_address']
      client.phone = form.cleaned_data['phone']
      client.fax = form.cleaned_data['fax']
      client.website = form.cleaned_data['website']
      client.referral_source = form.cleaned_data['referral_source']
      client.save()
      return HttpResponseRedirect(reverse('workflowmax-client', args=[client.id]))
  
  context_vars['form'] = form
  context_vars['helper'] = helper
  return direct_to_template(request, template='workflowmax/form.html', extra_context=context_vars)
示例#9
0
    def test_uni_form_formset_with_helper_without_layout(self):
        template = get_template_from_string(u"""
            {% load uni_form_tags %}
            {% uni_form testFormSet formset_helper %}
        """)
        
        form_helper = FormHelper()    
        form_helper.form_id = 'thisFormsetRocks'
        form_helper.form_class = 'formsets-that-rock'
        form_helper.form_method = 'POST'
        form_helper.form_action = 'simpleAction'
                
        TestFormSet = formset_factory(TestForm, extra = 3)
        testFormSet = TestFormSet()
        
        c = Context({'testFormSet': testFormSet, 'formset_helper': form_helper, 'csrf_token': _get_new_csrf_key()})
        html = template.render(c)        

        self.assertEqual(html.count('<form'), 1)
        self.assertEqual(html.count("<input type='hidden' name='csrfmiddlewaretoken'"), 1)

        # Check formset management form
        self.assertTrue('form-TOTAL_FORMS' in html)
        self.assertTrue('form-INITIAL_FORMS' in html)
        self.assertTrue('form-MAX_NUM_FORMS' in html)
    
        self.assertTrue('class="uniForm formsets-that-rock"' in html)
        self.assertTrue('method="post"' in html)
        self.assertTrue('id="thisFormsetRocks">' in html)
        self.assertTrue('action="%s"' % reverse('simpleAction') in html)
示例#10
0
    def test_uni_form_formset_with_helper_without_layout(self):
        template = get_template_from_string(u"""
            {% load uni_form_tags %}
            {% uni_form testFormSet formset_helper %}
        """)

        form_helper = FormHelper()
        form_helper.form_id = 'thisFormsetRocks'
        form_helper.form_class = 'formsets-that-rock'
        form_helper.form_method = 'POST'
        form_helper.form_action = 'simpleAction'

        TestFormSet = formset_factory(TestForm, extra=3)
        testFormSet = TestFormSet()

        c = Context({
            'testFormSet': testFormSet,
            'formset_helper': form_helper,
            'csrf_token': _get_new_csrf_key()
        })
        html = template.render(c)

        self.assertEqual(html.count('<form'), 1)
        self.assertEqual(
            html.count("<input type='hidden' name='csrfmiddlewaretoken'"), 1)

        # Check formset management form
        self.assertTrue('form-TOTAL_FORMS' in html)
        self.assertTrue('form-INITIAL_FORMS' in html)
        self.assertTrue('form-MAX_NUM_FORMS' in html)

        self.assertTrue('class="uniForm formsets-that-rock"' in html)
        self.assertTrue('method="post"' in html)
        self.assertTrue('id="thisFormsetRocks">' in html)
        self.assertTrue('action="%s"' % reverse('simpleAction') in html)
示例#11
0
def edit_client_contact(request, owner_id, object_id):
  try:
    owner_id = int(owner_id)
  except ValueError:
    return HttpResponseRedirect(reverse('workflowmax-client-list'))
  try:
    object_id = int(object_id)
  except ValueError:
    return HttpResponseRedirect(reverse('workflowmax-client', args=[owner_id]))
  context_vars = dict()
  context_vars['header'] = capfirst(_('edit contact %d') % object_id)
  contact = Contact.objects.get(id=object_id)
  form = ContactForm(contact.to_dict())
  helper = FormHelper()
  helper.form_class = 'uniform'
  submit = Submit('save',_('save'))
  helper.add_input(submit)
  if request.method == "POST":
    form = ContactForm(request.POST, request.FILES)
    if form.is_valid():
      contact.name = form.cleaned_data['name']
      contact.mobile = form.cleaned_data['mobile']
      contact.email = form.cleaned_data['email']
      contact.phone = form.cleaned_data['phone']
      contact.position = form.cleaned_data['position']
      contact.save()
      return HttpResponseRedirect(reverse('workflowmax-client', args=[owner_id]))
  
  context_vars['form'] = form
  context_vars['helper'] = helper
  return direct_to_template(request, template='workflowmax/form.html', extra_context=context_vars)
示例#12
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))
示例#13
0
文件: tests.py 项目: Bauke900/dnevnik
    def test_uni_form_formset(self):
        template = get_template_from_string(
            u"""
            {% load uni_form_tags %}
            {% uni_form testFormSet formset_helper %}
        """
        )

        form_helper = FormHelper()
        form_helper.form_id = "thisFormsetRocks"
        form_helper.form_class = "formsets-that-rock"
        form_helper.form_method = "POST"
        form_helper.form_action = "simpleAction"

        TestFormSet = formset_factory(TestForm, extra=3)
        testFormSet = TestFormSet()

        c = Context({"testFormSet": testFormSet, "formset_helper": form_helper, "csrf_token": _get_new_csrf_key()})
        html = template.render(c)

        self.assertEqual(html.count("<form"), 1)
        self.assertEqual(html.count("<input type='hidden' name='csrfmiddlewaretoken'"), 1)

        self.assertTrue('class="uniForm formsets-that-rock"' in html)
        self.assertTrue('method="post"' in html)
        self.assertTrue('id="thisFormsetRocks">' in html)
        self.assertTrue('action="%s"' % reverse("simpleAction") in html)
示例#14
0
def add_job(request):
  context_vars = dict()
  context_vars['header'] = capfirst(_('add new job'))
  form = AddJobForm()
  helper = FormHelper()
  helper.form_class = 'uniform'
  submit = Submit('save',_('save'))
  helper.add_input(submit)
  if request.method == "POST":
    form = AddJobForm(request.POST, request.FILES)
    if form.is_valid():
      job = Job()
      job.name = form.cleaned_data['name']
      job.description = form.cleaned_data['description']
      job.start_date = strptime(form.cleaned_data['start_date'], '%Y%m%d')
      job.due_date = strptime(form.cleaned_data['due_date'], '%Y%m%d')
      client_id = form.cleaned_data['client']
      client = Client.objects.get(id=client_id)
      job.clients = [client,]
      job = job.save()
      return HttpResponseRedirect(reverse('workflowmax-job', args=[job.id]))
  
  context_vars['form'] = form
  context_vars['helper'] = helper
  return direct_to_template(request, template='workflowmax/form.html', extra_context=context_vars)
示例#15
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))   
示例#16
0
def add_client(request):
  context_vars = dict()
  context_vars['header'] = capfirst(_('add new client'))
  form = ClientForm()
  helper = FormHelper()
  helper.form_class = 'uniform'
  submit = Submit('save',_('save'))
  helper.add_input(submit)
  if request.method == "POST":
    form = ClientForm(request.POST, request.FILES)
    if form.is_valid():
      client = Client()
      client.name = form.cleaned_data['name']
      client.address = form.cleaned_data['address']
      client.postal_address = form.cleaned_data['postal_address']
      client.phone = form.cleaned_data['phone']
      client.fax = form.cleaned_data['fax']
      client.website = form.cleaned_data['website']
      client.referral_source = form.cleaned_data['referral_source']
      client = client.save()
      return HttpResponseRedirect(reverse('workflowmax-client', args=[client.id]))
  
  context_vars['form'] = form
  context_vars['helper'] = helper
  return direct_to_template(request, template='workflowmax/form.html', extra_context=context_vars)
示例#17
0
    def test_uni_form_helper_form_attributes(self):
        

        template = get_template_from_string("""
            {% load uni_form_tags %}
            {% uni_form form form_helper %}
        """)        

        # First we build a standard form helper
        form_helper = FormHelper()    
        form_helper.form_id = 'this-form-rocks'
        form_helper.form_class = 'forms-that-rock'
        form_helper.form_method = 'GET'
    
        # now we render it
        c = Context({'form':TestForm(),'form_helper':form_helper})            
        html = template.render(c)        
        # Lets make sure everything loads right
        self.assertTrue("""<form""" in html)                
        self.assertTrue("""class="uniForm forms-that-rock" """ in html)
        self.assertTrue("""method="get" """ in html)
        self.assertTrue("""id="this-form-rocks">""" in html)        
        
        # now lets remove the form tag and render it again. All the True items above
        # should now be false because the form tag is removed.
        form_helper.form_tag = False
        c = Context({'form':TestForm(),'form_helper':form_helper})            
        html = template.render(c)        
        self.assertFalse("""<form""" in html)        
        self.assertFalse("""id="this-form-rocks">""" in html)                
        self.assertFalse("""class="uniForm forms-that-rock" """ in html)
        self.assertFalse("""method="get" """ in html)
        self.assertFalse("""id="this-form-rocks">""" in html)
示例#18
0
文件: views.py 项目: lostgeek/Lettr
def edit_letter(request, id):
    data = {}

    letter = Letter.objects.get(id=id)

    if not request.user in letter.owners.all():
        messages.error(request, _(u"Zugriff verweigert!"))
        return redirect_to_prev_page(request)

    if not request.method == 'POST':
        letter_form = LetterForm(instance=letter)
    else:
        letter_form = LetterForm(request.POST, instance=letter)
        if letter_form.is_valid():
            letter = letter_form.save()
            messages.success(request, _(u"Brief erfolgreich bearbeitet."))
            return redirect(letter)
        else:
            messages.error(request, _(u"Es gibt noch Fehler im Formular."))
    
    helper = FormHelper()

    helper.form_id = "foobar"
    helper.form_class = "search"

    submit = Submit("send", _(u"Speichern"))
    helper.add_input(submit)
    reset = Submit("reset", _(u"Zurücksetzen"))
    helper.add_input(reset)

    data['form'] = letter_form
    data['helper'] = helper
    data.update(csrf(request))
    return render_to_response("lettr/edit_letter.html", data, context_instance=RequestContext(request))
示例#19
0
    def setUp(self):

        form_helper = FormHelper()
        form_helper.form_id = 'this-formset-rocks'
        form_helper.form_class = 'formsets-that-rock'
        form_helper.form_method = 'GET'

        self.c = Context({'formset': TestFormset(),
                          'formset_helper': form_helper})
示例#20
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
示例#21
0
    def index(cls, request):
        ## Preconditions & preparation:
        results = msgs = None

        ## Main:
        # instantiate form in one of several ways ...
        form_cls = cls.ToolForm
        # if the form has been submitted...
        if request.method == "POST":
            form = form_cls(request.POST, request.FILES)
            # if the form is valid
            if form.is_valid():
                # get the clean data and do the work
                msgs, results = cls.process_form(form.cleaned_data)
            else:
                msgs = [messages.Error("there was problem processing the form")]
        else:
            # if you're coming to the form anew, make an unbound form
            form = form_cls()

        helper = FormHelper()

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

        # if necessary, do fieldsets
        if cls.fieldsets:
            sets = []
            for field_pair in cls.fieldsets:
                if isinstance(field_pair, basestring):
                    # if just a naked field name
                    field_pair = ["", field_pair]
                sets.append(Fieldset(*field_pair))
            helper.add_layout(Layout(*sets))

            # add in submit actions and a reset button
        for button in cls.actions:
            submit = Submit(button[0], button[1].title())
            helper.add_input(submit)
        reset = Reset("reset", "Reset form")
        helper.add_input(reset)

        ## Postconditions & return:
        return render_to_response(
            "relais.amergin/base_tool.html",
            {
                "identifier": cls.identifier,
                "title": cls.title,
                "description": cls.description,
                "form": form,
                "results": results,
                "messages": msgs,
                "helper": helper,
            },
        )
示例#22
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
示例#23
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
示例#24
0
    def setUp(self):

        form_helper = FormHelper()
        form_helper.form_id = 'this-formset-rocks'
        form_helper.form_class = 'formsets-that-rock'
        form_helper.form_method = 'GET'

        self.c = Context({
            'formset': TestFormset(),
            'formset_helper': form_helper
        })
示例#25
0
    def test_formset_layout(self):
        template = get_template_from_string(u"""
            {% load uni_form_tags %}
            {% uni_form testFormSet formset_helper %}
        """)
        
        form_helper = FormHelper()    
        form_helper.form_id = 'thisFormsetRocks'
        form_helper.form_class = 'formsets-that-rock'
        form_helper.form_method = 'POST'
        form_helper.form_action = 'simpleAction'
        form_helper.add_layout(
            Layout(
                Fieldset("Item {{ forloop.counter }}",
                    'is_company',
                    'email',
                ),
                HTML("{% if forloop.first %}Note for first form only{% endif %}"),
                Row('password1', 'password2'),
                Fieldset("",
                    'first_name',
                    'last_name'
                )
            )
        )
                
        TestFormSet = formset_factory(TestForm, extra = 3)
        testFormSet = TestFormSet()
        
        c = Context({
            'testFormSet': testFormSet, 
            'formset_helper': form_helper, 
            'csrf_token': _get_new_csrf_key()
        })
        html = template.render(c)        

        # Check form parameters
        self.assertEqual(html.count('<form'), 1)
        self.assertEqual(html.count("<input type='hidden' name='csrfmiddlewaretoken'"), 1)

        self.assertTrue('class="uniForm formsets-that-rock"' in html)
        self.assertTrue('method="post"' in html)
        self.assertTrue('id="thisFormsetRocks">' in html)
        self.assertTrue('action="%s"' % reverse('simpleAction') in html)

        # Check form layout
        self.assertTrue('Item 1' in html)
        self.assertTrue('Item 2' in html)
        self.assertTrue('Item 3' in html)
        self.assertEqual(html.count('Note for first form only'), 1)
        self.assertEqual(html.count('formRow'), 3)
示例#26
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
示例#27
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 
示例#28
0
    def test_formset_layout(self):
        template = get_template_from_string(u"""
            {% load uni_form_tags %}
            {% uni_form testFormSet formset_helper %}
        """)

        form_helper = FormHelper()
        form_helper.form_id = 'thisFormsetRocks'
        form_helper.form_class = 'formsets-that-rock'
        form_helper.form_method = 'POST'
        form_helper.form_action = 'simpleAction'
        form_helper.add_layout(
            Layout(
                Fieldset(
                    "Item {{ forloop.counter }}",
                    'is_company',
                    'email',
                ),
                HTML(
                    "{% if forloop.first %}Note for first form only{% endif %}"
                ), Row('password1', 'password2'),
                Fieldset("", 'first_name', 'last_name')))

        TestFormSet = formset_factory(TestForm, extra=3)
        testFormSet = TestFormSet()

        c = Context({
            'testFormSet': testFormSet,
            'formset_helper': form_helper,
            'csrf_token': _get_new_csrf_key()
        })
        html = template.render(c)

        # Check form parameters
        self.assertEqual(html.count('<form'), 1)
        self.assertEqual(
            html.count("<input type='hidden' name='csrfmiddlewaretoken'"), 1)

        self.assertTrue('class="uniForm formsets-that-rock"' in html)
        self.assertTrue('method="post"' in html)
        self.assertTrue('id="thisFormsetRocks">' in html)
        self.assertTrue('action="%s"' % reverse('simpleAction') in html)

        # Check form layout
        self.assertTrue('Item 1' in html)
        self.assertTrue('Item 2' in html)
        self.assertTrue('Item 3' in html)
        self.assertEqual(html.count('Note for first form only'), 1)
        self.assertEqual(html.count('formRow'), 3)
示例#29
0
    def test_uni_form_helper_generic_attributes(self):
        
        form_helper = FormHelper()    
        form_helper.form_id = 'this-form-rocks'
        form_helper.form_class = 'forms-that-rock'
        form_helper.form_method = 'GET'
    
        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)        

        good_response = """<form action="" class="uniForm forms-that-rock" method="POST" id="this-form-rocks" >"""
示例#30
0
文件: tests.py 项目: Bauke900/dnevnik
    def test_formset_layout(self):
        template = get_template_from_string(
            u"""
            {% load uni_form_tags %}
            {% uni_form testFormSet formset_helper %}
        """
        )

        form_helper = FormHelper()
        form_helper.form_id = "thisFormsetRocks"
        form_helper.form_class = "formsets-that-rock"
        form_helper.form_method = "POST"
        form_helper.form_action = "simpleAction"
        form_helper.add_layout(
            Layout(
                Fieldset("Item {{ forloop.counter }}", "is_company", "email"),
                HTML("{% if forloop.first %}Note for first form only{% endif %}"),
                Row("password1", "password2"),
                Fieldset("", "first_name", "last_name"),
            )
        )

        TestFormSet = formset_factory(TestForm, extra=3)
        testFormSet = TestFormSet()

        c = Context({"testFormSet": testFormSet, "formset_helper": form_helper, "csrf_token": _get_new_csrf_key()})
        html = template.render(c)

        # Check form parameters
        self.assertEqual(html.count("<form"), 1)
        self.assertEqual(html.count("<input type='hidden' name='csrfmiddlewaretoken'"), 1)

        self.assertTrue('class="uniForm formsets-that-rock"' in html)
        self.assertTrue('method="post"' in html)
        self.assertTrue('id="thisFormsetRocks">' in html)
        self.assertTrue('action="%s"' % reverse("simpleAction") in html)

        # Check form layout
        self.assertTrue("Item 1" in html)
        self.assertTrue("Item 2" in html)
        self.assertTrue("Item 3" in html)
        self.assertEqual(html.count("Note for first form only"), 1)
        self.assertEqual(html.count("formRow"), 3)
示例#31
0
    def test_uni_form_helper_generic_attributes(self):

        form_helper = FormHelper()
        form_helper.form_id = 'this-form-rocks'
        form_helper.form_class = 'forms-that-rock'
        form_helper.form_method = 'GET'

        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)

        good_response = """<form action="" class="uniForm forms-that-rock" method="POST" id="this-form-rocks" >"""

        self.assertTrue(
            '<form action="" class="uniForm forms-that-rock" method="GET" id="this-form-rocks" >'
            in html)
示例#32
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():
        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',
            'email',
        ),
        ButtonHolder(
            Submit('edit', 'Edit', css_class="awesome forestgreen"),
        )
    )        

    return render_to_response(template_name,
        {
            "profile": profile,
            "form": form,
            "helper":helper,
        },
        context_instance=RequestContext(request)
    )
示例#33
0
    def test_uni_form_with_helper_without_layout(self):
        form_helper = FormHelper()    
        form_helper.form_id = 'this-form-rocks'
        form_helper.form_class = 'forms-that-rock'
        form_helper.form_method = 'GET'
        form_helper.form_action = 'simpleAction'
        form_helper.form_error_title = 'ERRORS'
    
        template = get_template_from_string(u"""
            {% load uni_form_tags %}
            {% uni_form testForm form_helper %}
        """)        

        # now we render it, with errors
        form = TestForm({'password1': 'wargame','password2': 'god'})
        form.is_valid()
        c = Context({'testForm': form, 'form_helper': form_helper})            
        html = template.render(c)
        
        # Lets make sure everything loads right
        self.assertTrue(html.count('<form'), 1)
        self.assertTrue('class="uniForm forms-that-rock"' in html)
        self.assertTrue('method="get"' in html)
        self.assertTrue('id="this-form-rocks">' in html)
        self.assertTrue('action="%s"' % reverse('simpleAction') in html)
        self.assertEqual(html.count('<fieldset'), 1)


        self.assertTrue("<h3>ERRORS</h3>" in html)
        self.assertTrue("<li>Passwords dont match</li>" in html)

        # now lets remove the form tag and render it again. All the True items above
        # should now be false because the form tag is removed.
        form_helper.form_tag = False 
        html = template.render(c)        
        self.assertFalse('<form' in html)        
        self.assertFalse('class="uniForm forms-that-rock"' in html)
        self.assertFalse('method="get"' in html)
        self.assertFalse('id="this-form-rocks">' in html)
示例#34
0
文件: tests.py 项目: Bauke900/dnevnik
    def test_uni_form_with_helper_attributes_without_layout(self):
        form_helper = FormHelper()
        form_helper.form_id = "this-form-rocks"
        form_helper.form_class = "forms-that-rock"
        form_helper.form_method = "GET"
        form_helper.form_action = "simpleAction"
        form_helper.form_error_title = "ERRORS"

        template = get_template_from_string(
            u"""
            {% load uni_form_tags %}
            {% uni_form testForm form_helper %}
        """
        )

        # now we render it, with errors
        form = TestForm({"password1": "wargame", "password2": "god"})
        form.is_valid()
        c = Context({"testForm": form, "form_helper": form_helper})
        html = template.render(c)

        # Lets make sure everything loads right
        self.assertTrue("<form" in html)
        self.assertTrue('class="uniForm forms-that-rock"' in html)
        self.assertTrue('method="get"' in html)
        self.assertTrue('id="this-form-rocks">' in html)
        self.assertTrue('action="%s"' % reverse("simpleAction") in html)

        self.assertTrue("<h3>ERRORS</h3>" in html)
        self.assertTrue("<li>Passwords dont match</li>" in html)

        # now lets remove the form tag and render it again. All the True items above
        # should now be false because the form tag is removed.
        form_helper.form_tag = False
        html = template.render(c)
        self.assertFalse("<form" in html)
        self.assertFalse('class="uniForm forms-that-rock"' in html)
        self.assertFalse('method="get"' in html)
        self.assertFalse('id="this-form-rocks">' in html)
示例#35
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,
        })
示例#36
0
    def test_uni_form_with_helper_without_layout(self):
        form_helper = FormHelper()
        form_helper.form_id = 'this-form-rocks'
        form_helper.form_class = 'forms-that-rock'
        form_helper.form_method = 'GET'
        form_helper.form_action = 'simpleAction'
        form_helper.form_error_title = 'ERRORS'

        template = get_template_from_string(u"""
            {% load uni_form_tags %}
            {% uni_form testForm form_helper %}
        """)

        # now we render it, with errors
        form = TestForm({'password1': 'wargame', 'password2': 'god'})
        form.is_valid()
        c = Context({'testForm': form, 'form_helper': form_helper})
        html = template.render(c)

        # Lets make sure everything loads right
        self.assertTrue(html.count('<form'), 1)
        self.assertTrue('class="uniForm forms-that-rock"' in html)
        self.assertTrue('method="get"' in html)
        self.assertTrue('id="this-form-rocks">' in html)
        self.assertTrue('action="%s"' % reverse('simpleAction') in html)
        self.assertEqual(html.count('<fieldset'), 1)

        self.assertTrue("<h3>ERRORS</h3>" in html)
        self.assertTrue("<li>Passwords dont match</li>" in html)

        # now lets remove the form tag and render it again. All the True items above
        # should now be false because the form tag is removed.
        form_helper.form_tag = False
        html = template.render(c)
        self.assertFalse('<form' in html)
        self.assertFalse('class="uniForm forms-that-rock"' in html)
        self.assertFalse('method="get"' in html)
        self.assertFalse('id="this-form-rocks">' in html)
示例#37
0
def add_staff(request):
  context_vars = dict()
  context_vars['header'] = capfirst(_('add new staff'))
  form = StaffForm()
  helper = FormHelper()
  helper.form_class = 'uniform'
  submit = Submit('save',_('save'))
  helper.add_input(submit)
  if request.method == "POST":
    form = StaffForm(request.POST, request.FILES)
    if form.is_valid():
      staff = Staff()
      staff.name = form.cleaned_data['name']
      staff.address = form.cleaned_data['address']
      staff.phone = form.cleaned_data['phone']
      staff.mobile = form.cleaned_data['mobile']
      staff.email = form.cleaned_data['email']
      staff.payrollcode = form.cleaned_data['payrollcode']
      staff = staff.save()
      return HttpResponseRedirect(reverse('workflowmax-staff', args=[staff.id]))
  
  context_vars['form'] = form
  context_vars['helper'] = helper
  return direct_to_template(request, template='workflowmax/form.html', extra_context=context_vars)
示例#38
0
def add_job_note(request, object_id):
  job = Job.objects.get(id=object_id)
  context_vars = dict()
  context_vars['header'] = capfirst(_('add new note for job %s') % job.id)
  form = NoteForm()
  helper = FormHelper()
  helper.form_class = 'uniform'
  submit = Submit('save',_('save'))
  helper.add_input(submit)
  if request.method == "POST":
    form = NoteForm(request.POST, request.FILES)
    if form.is_valid():
      note = Note()
      note.owner_id = job.id
      note.title = form.cleaned_data['title']
      note.text = form.cleaned_data['text']
      note.folder = form.cleaned_data['folder']
      note.public = form.cleaned_data['public']
      note.save()
      return HttpResponseRedirect(reverse('workflowmax-job', args=[job.id]))
  context_vars['form'] = form
  context_vars['helper'] = helper
  
  return direct_to_template(request, template='workflowmax/form.html', extra_context=context_vars)
示例#39
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