示例#1
0
def accept_contract(request, pk):
    contract = get_object_or_404(Contract, pk=pk)
    if request.method == "POST":
        form = Form(request.POST)
        if form.is_valid() and contract.can_accept_or_reject(request.user):
            change_contract_status(contract, "accepted", True)
    return HttpResponseRedirect(reverse("view_contract", args=[pk]))
示例#2
0
def clientDelete(request, id):
    client = get_object_or_404(Client, pk=id)
    if request.method == "POST":
        form = Form(request.POST)
        if form.is_valid():
            client.user.delete()
    return redirect('my_site:index')
示例#3
0
def userDelete(request, id):
    user = get_object_or_404(Owner, pk=id)
    if request.method == "POST":
        form = Form(request.POST)
        if form.is_valid():
            user.user.delete()
    return redirect('my_site:index')
示例#4
0
    def __init__(self, data=None, auto_id='id_%s', prefix=None, initial=None):
        self.is_bound = data is not None
        self.data = data
        self.auto_id = auto_id
        self.prefix = prefix
        self.initial = initial or {}
        self.__errors = None # Stores the errors after clean() has been called.

        # create a list of subform instances
        finst_list = []
        # if we've fields of our own, collect them first and put
        # 'm in a form of their own
        if len(self.base_subfields) > 0:
            self_form = Form(data=data, auto_id=auto_id,
                             prefix=self.prefix, initial=initial)
            self_form.fields = self.base_subfields.copy()
            finst_list.append( ("_self", self_form,) )

        # now do our subforms ...
        for (name, fd) in self.base_subforms.items():
            subform_prefix = self.add_prefix(name)
            fd.init_form(prefix=subform_prefix,
                         auto_id=auto_id,
                         initial=initial,
                         data=data)
            finst_list.append( (subform_prefix, fd,) )
        self.forms = SortedDictFromList(finst_list)
示例#5
0
def save_attribute_form(request: HttpRequest, workflow: Workflow,
                        template: str, form: forms.Form,
                        attr_idx: int) -> JsonResponse:
    """Process the AJAX request to create or update an attribute.

    :param request: Request object received

    :param workflow: current workflow being manipulated

    :param template: Template to render in the response

    :param form: Form used to ask for data

    :param attr_idx: Index of the attribute being manipulated

    :return: AJAX reponse
    """
    if request.method == 'POST' and form.is_valid():
        # Correct form submitted
        if not form.has_changed():
            return JsonResponse({'html_redirect': None})

        # proceed with updating the attributes.
        wf_attributes = workflow.attributes

        # If key_idx is not -1, this means we are editing an existing pair
        if attr_idx != -1:
            key = sorted(wf_attributes.keys())[attr_idx]
            wf_attributes.pop(key)

            # Rename the appearances of the variable in all actions
            for action_item in workflow.actions.all():
                action_item.rename_variable(key, form.cleaned_data['key'])

        # Update value
        wf_attributes[
            form.cleaned_data['key']] = form.cleaned_data['attr_value']

        workflow.attributes = wf_attributes
        workflow.save()

        # Log the event
        Log.objects.register(
            request.user, Log.WORKFLOW_ATTRIBUTE_CREATE, workflow, {
                'id': workflow.id,
                'name': workflow.name,
                'attr_key': form.cleaned_data['key'],
                'attr_val': form.cleaned_data['attr_value']
            })

        return JsonResponse({'html_redirect': ''})

    return JsonResponse({
        'html_form':
        render_to_string(template, {
            'form': form,
            'id': attr_idx
        },
                         request=request),
    })
示例#6
0
def reject_contract(request, pk):
    contract = get_object_or_404(Contract, pk=pk)
    if request.method == "POST":
        form = Form(request.POST)
        if form.is_valid() and contract.can_change_status_to(
                request.gooseuser, "rejected"):
            change_contract_status(contract, "rejected")
    return HttpResponseRedirect(reverse("view_contract", args=[pk]))
示例#7
0
def get_search_filter_form(context):
    
    form = Form(initial=context['search_params'])
    form.fields['q'] = fields.CharField(label = 'contains query')
    
    category_id = context['search_params'].get('category', None)
    djangofields = {}
    if category_id:
        category = ProductCategory.objects.get(slug=category_id)
        for key, field in category.get_extra_fields().items():
            djangofields[field['solr_key']] = field['field'] 
    
    djangofields['price'] = models.IntegerField(verbose_name='Price')
    djangofields['has_image'] = models.BooleanField(verbose_name='Has Image')

    for key, field in djangofields.items():
        #print field.__class__.__name__
        if isinstance(field, models.IntegerField):
            form.fields['filter[%s_from]' % key] = fields.IntegerField(label = field.verbose_name + ' from')
            form.fields['filter[%s_to]' % key] = fields.IntegerField(label = field.verbose_name + ' to')
        elif isinstance(field, models.FloatField):
            form.fields['filter[%s_from]' % key] = fields.FloatField(label = field.verbose_name + ' from')
            form.fields['filter[%s_to]' % key] = fields.FloatField(label = field.verbose_name + ' to')
        else:
            form.fields['filter[%s]' % key] = field.formfield()
        
    #form.fields['color'] = fields.IntegerField()
    return form.as_ul()
示例#8
0
文件: views.py 项目: bourzua/TIL_real
def write(request):
    if request.method == 'POST':
        form = Form(request.POST)
        if form.is_valid():
            form.save()
    else:
        form = Form()

    return render(request, 'write.html', {'form': form})
示例#9
0
def reject_contract(request, pk):
    contract = get_object_or_404(Contract, pk=pk)
    if request.method == "POST":
        form = Form(request.POST)
        if form.is_valid() and contract.can_accept_or_reject(request.user):
            contract.status = "rejected"
            log = []
            for item in contract.inventoryitem_set.all():
                log.append(
                    {
                        "id": item.id,
                        "item": str(item),
                        "quantity": item.quantity,
                        "status": item.status(),
                        "loot_group_id": item.loot_group and item.loot_group.id,
                    }
                )
            contract.log = json.dumps(log, cls=ComplexEncoder)
            contract.full_clean()
            contract.save()
            contract.inventoryitem_set.update(contract=None)
    return HttpResponseRedirect(reverse("view_contract", args=[pk]))
示例#10
0
def processOrder(request):
    transaction_id = datetime.datetime.now().timestamp()
    data = json.loads(request.body)


    if request.user.is_authenticated:
        user = request.user
        order, created = Order.objects.get_or_create(
        user=user, complete=False)
    else:
        user, order = guestOrder(request, data)

    total = float(data['form']['total'])
    order.transaction_id = transaction_id

    if total == order.get_cart_total:
        order.complete = True
        order.save()

    if order.shipping == True:
        Checkout.objects.create(
        user=user,
        order=order,
        address=data['shipping']['address'],
        city=data['shipping']['city'],
        state=data['shipping']['state'],
        zipcode=data['shipping']['zipcode'],
        image=data['shipping']['image'],
		)
    
    if forms.is_valid():
        image = Form.save(commit=False)
        image.user_id = request.user.id
        image.save()

    return JsonResponse('Payment submitted..', safe=False)
示例#11
0
 def __init__(self, *args, **kwargs):
     self.base_fields[TOTAL_FORM_COUNT] = IntegerField(widget=HiddenInput)
     self.base_fields[INITIAL_FORM_COUNT] = IntegerField(widget=HiddenInput)
     Form.__init__(self, *args, **kwargs)
示例#12
0
 def __init__(self, *args, **kwargs):
     self.base_fields[TOTAL_FORM_COUNT] = IntegerField(widget=HiddenInput)
     self.base_fields[INITIAL_FORM_COUNT] = IntegerField(widget=HiddenInput)
     Form.__init__(self, *args, **kwargs)