def render_form(self): form = CaseComponentForm(initial={ 'product': self.product_id, 'component': self.request.POST.getlist('o_component'), }) form.populate(product_id=self.product_id) return HttpResponse(form.as_p())
def __get_form(self): self.form = CaseComponentForm(self.request.REQUEST) self.form.populate(product_id=self.product_id) return self.form
class ComponentActions(BaseActions): '''Component actions used by view function `component`''' def __get_form(self): self.form = CaseComponentForm(self.request.REQUEST) self.form.populate(product_id=self.product_id) return self.form def __check_form_validation(self): form = self.__get_form() if not form.is_valid(): return 0, self.render_ajax(forms.errors_to_list(form)) return 1, form def __check_perms(self, perm): perm_name = 'testcases.' + perm + '_testcasecomponent' if not self.request.user.has_perm(perm_name): self.ajax_response['rc'] = 1 self.ajax_response['response'] = 'Permission denied - ' + perm return 0, self.render_ajax(self.ajax_response) return 1, True def add(self): is_valid, perm = self.__check_perms('add') if not is_valid: return perm is_valid, form = self.__check_form_validation() if not is_valid: return form tcs = self.get_testcases() for tc in tcs: for c in form.cleaned_data['o_component']: try: tc.add_component(component=c) except: self.ajax_response['errors_list'].append({ 'case': tc.pk, 'component': c.pk}) return self.render_ajax(self.ajax_response) def remove(self): is_valid, perm = self.__check_perms('delete') if not is_valid: return perm is_valid, form = self.__check_form_validation() if not is_valid: return form tcs = self.get_testcases() for tc in tcs: for c in form.cleaned_data['o_component']: try: tc.remove_component(component=c) except: self.ajax_response['errors_list'].append({ 'case': tc.pk, 'component': c.pk}) return self.render_ajax(self.ajax_response) def update(self): is_valid, perm = self.__check_perms('change') if not is_valid: return perm is_valid, form = self.__check_form_validation() if not is_valid: return form # self.tcs.update(category = self.form.cleaned_data['category']) tcs = self.get_testcases() for tc in tcs: tc.clear_components() for c in form.cleaned_data['o_component']: tc.add_component(component=c) return self.render_ajax(self.ajax_response) def render_ajax(self, response): return HttpResponse(simplejson.dumps(self.ajax_response)) def render_form(self): form = CaseComponentForm(initial={ 'product': self.product_id, # 'category': self.request.REQUEST.get('category'), 'component': self.request.REQUEST.getlist('o_component'), }) form.populate(product_id=self.product_id) return HttpResponse(form.as_p())
def _get_form(self): self.form = CaseComponentForm(self.request.POST) self.form.populate(product_id=self.product_id) return self.form
class ComponentActions(BaseActions): """Component actions used by view function `component`""" form = None def _get_form(self): self.form = CaseComponentForm(self.request.POST) self.form.populate(product_id=self.product_id) return self.form def __check_perms(self, perm): perm_name = 'testcases.{}_testcasecomponent'.format(perm) if not self.request.user.has_perm(perm_name): self.ajax_response['rc'] = 1 self.ajax_response['response'] = 'Permission denied - ' + perm return 0, JsonResponse(self.ajax_response) return 1, True def _add_or_remove(self, action_name): is_valid, perm = self.__check_perms(action_name) if not is_valid: return perm is_valid, form = self._check_form_validation() if not is_valid: return form test_cases = self.get_testcases() for test_case in test_cases: for component in form.cleaned_data['o_component']: try: if action_name == 'add': test_case.add_component(component=component) else: test_case.remove_component(component=component) except Exception: self.ajax_response['errors_list'].append({ 'case': test_case.pk, 'component': component.pk }) return JsonResponse(self.ajax_response) def add(self): return self._add_or_remove('add') def remove(self): return self._add_or_remove('delete') def update(self): is_valid, perm = self.__check_perms('change') if not is_valid: return perm is_valid, form = self._check_form_validation() if not is_valid: return form testcases = self.get_testcases() for testcase in testcases: testcase.clear_components() for component in form.cleaned_data['o_component']: testcase.add_component(component=component) return JsonResponse(self.ajax_response) def render_form(self): form = CaseComponentForm( initial={ 'product': self.product_id, 'component': self.request.POST.getlist('o_component'), }) form.populate(product_id=self.product_id) return HttpResponse(form.as_p())
class ComponentActions(BaseActions): '''Component actions used by view function `component`''' def __get_form(self): self.form = CaseComponentForm(self.request.REQUEST) self.form.populate(product_id=self.product_id) return self.form def __check_form_validation(self): form = self.__get_form() if not form.is_valid(): return 0, self.render_ajax(forms.errors_to_list(form)) return 1, form def __check_perms(self, perm): perm_name = 'testcases.' + perm + '_testcasecomponent' if not self.request.user.has_perm(perm_name): self.ajax_response['rc'] = 1 self.ajax_response['response'] = 'Permission denied - ' + perm return 0, self.render_ajax(self.ajax_response) return 1, True def add(self): is_valid, perm = self.__check_perms('add') if not is_valid: return perm is_valid, form = self.__check_form_validation() if not is_valid: return form tcs = self.get_testcases() for tc in tcs: for c in form.cleaned_data['o_component']: try: tc.add_component(component=c) except: self.ajax_response['errors_list'].append({ 'case': tc.pk, 'component': c.pk }) return self.render_ajax(self.ajax_response) def remove(self): is_valid, perm = self.__check_perms('delete') if not is_valid: return perm is_valid, form = self.__check_form_validation() if not is_valid: return form tcs = self.get_testcases() for tc in tcs: for c in form.cleaned_data['o_component']: try: tc.remove_component(component=c) except: self.ajax_response['errors_list'].append({ 'case': tc.pk, 'component': c.pk }) return self.render_ajax(self.ajax_response) def update(self): is_valid, perm = self.__check_perms('change') if not is_valid: return perm is_valid, form = self.__check_form_validation() if not is_valid: return form # self.tcs.update(category = self.form.cleaned_data['category']) tcs = self.get_testcases() for tc in tcs: tc.clear_components() for c in form.cleaned_data['o_component']: tc.add_component(component=c) return self.render_ajax(self.ajax_response) def render_ajax(self, response): return HttpResponse(simplejson.dumps(self.ajax_response)) def render_form(self): form = CaseComponentForm( initial={ 'product': self.product_id, # 'category': self.request.REQUEST.get('category'), 'component': self.request.REQUEST.getlist('o_component'), }) form.populate(product_id=self.product_id) return HttpResponse(form.as_p())