Ejemplo n.º 1
0
def editmodules(request):
    if not request.user.is_authenticated():
        return redirect('/login/?next=%s' % request.path)

    branch = GetBranch(request)

    branchmodule_formset = modelformset_factory(BranchModule, fields=('module', 'column', 'priority'), can_delete=True)

    if request.method == 'POST':
        if 'update' in request.POST:
            formset = branchmodule_formset(request.POST)

            if formset.is_valid():
                for form in formset:
                    existing_branchmodule = form.save(commit=False)
                    existing_branchmodule.branch = branch

                    if form.cleaned_data:
                        delete = form.cleaned_data.get('DELETE')

                        if delete:
                            existing_branchmodule.delete()
                        else:
                            try:
                                existing_branchmodule.save()
                            except IntegrityError as e:
                                #Module is already in the database
                                #needs DATABASES 'OPTIONS': {'autocommit': True,}, to prevent transaction fail
                                pass


        elif 'add' in request.POST:
            module_form = ModuleForm(request.POST)
            new_module = module_form.save()
            name = new_module.name
            module = Module.objects.get(name__iexact=name)

            new_branchmodule = BranchModule()
            new_branchmodule.branch = branch
            new_branchmodule.module = module

            branchmodule_form = BranchModuleForm(instance=new_branchmodule)
            newbranchmodule = branchmodule_form.save(commit=False)
            newbranchmodule.save()

    #formset = branchmodule_formset(queryset=BranchModule.objects.filter(branch__business__name__iexact=branch.business_name))
    formset = branchmodule_formset(
        queryset=BranchModule.objects.filter(branch__business__name__iexact=branch.business_name))

    moduleform = ModuleForm()

    #noinspection PyUnresolvedReferences
    return render_to_response('traders/editmodules.html', {"formset": formset, "moduleform": moduleform},
                              context_instance=RequestContext(request))
Ejemplo n.º 2
0
 def test_branch_module(self):
     branch = Branch.objects.get(business__name__iexact="Haldi")
     module = Module.objects.get(name__iexact="Facebook")
     branch_module = BranchModule(branch=branch, module=module)
     #self.assertEqual( 'Restaurants')
     self.assertEqual(branch_module.__unicode__(), 'Haldi' + ' ' + 'Facebook')