def validate(self, attrs): attrs = super(ValidateProjectAuditMixin, self).validate(attrs) if not 'audit' in attrs: return attrs if attrs['audit'] and attrs['project'] != attrs['audit'].project: audit_verbose_name = get_model_verbose_name(attrs['audit']) project_verbose_name = get_model_verbose_name(attrs['project']) raise ValidationError('Chosen {0} does not match to chosen {1}'.format(audit_verbose_name, project_verbose_name)) return attrs
def clean(self): cleaned_data = super(IssueForm, self).clean() # Check if audit project and issue project match if 'audit' in cleaned_data and cleaned_data['audit']: if cleaned_data['project'] != cleaned_data['audit'].project: audit_verbose_name = get_model_verbose_name(cleaned_data['audit']) project_verbose_name = get_model_verbose_name(cleaned_data['project']) self._errors['audit'] = self.error_class([ 'Chosen {0} does not match chosen {1}' .format(audit_verbose_name, project_verbose_name), ]) return cleaned_data
def clean(self): cleaned_data = super(ReportConfigForm, self).clean() if not 'audit' in cleaned_data: return cleaned_data if (cleaned_data['audit'] and cleaned_data['project'] != cleaned_data['audit'].project): audit_verbose_name = get_model_verbose_name(cleaned_data['audit']) project_verbose_name = get_model_verbose_name(cleaned_data['project']) self._errors['audit'] = self.error_class([ 'Chosen {0} does not match to chosen {1}' .format(audit_verbose_name, project_verbose_name) ]) return cleaned_data
def get_urls(self): urls = super(SignedAPIMixin, self).get_urls() model_name = get_model_name(self.model) model_verbose_name = get_model_verbose_name(self.model).title().lower().replace(" ", "") viewset = self.get_api_viewset() if viewset: router = routers.SimpleRouter() router.register(model_name, viewset, base_name="{}-sapi".format(model_name)) # register also verbose name if model_verbose_name != model_name: router.register(model_verbose_name, viewset, base_name="{}-sapi".format(model_verbose_name)) urls.append(url(r"^sapi/", include(router.urls))) return urls
def get_urls(self): urls = super(IssueOptions, self).get_urls() # Avoc # TODO clean this kwargs = {"serializer_class": AvocSerializer} viewset = modelviewset_factory(self.model, **kwargs) router = self.api_router_class() router.register("avoc", viewset, "avoc") # Register also verbose name model_verbose_name = get_model_verbose_name(self.model) model_name = get_model_name(self.model) if model_verbose_name != model_name: router.register(model_verbose_name, viewset, self.api_base_name) urls.append(url(r"^api/", include(router.urls))) router.register("avoc", viewset, "avoc") urls.append(url(r"^sapi/", include(router.urls))) return urls
def __init__(self, **kwargs): super(Menu, self).__init__(**kwargs) self.children.extend(( items.MenuItem( get_model_verbose_name(Issue, plural=True).capitalize(), reverse('issuesdb-issue-list') ), items.MenuItem( get_model_verbose_name(ReportConfig, plural=True).capitalize(), reverse('issuesdb-reportconfig-list') ), items.MenuItem( get_model_verbose_name(Vulnerability, plural=True).capitalize(), reverse('issuesdb-vulnerability-list') ), items.MenuItem( get_model_verbose_name(Audit, plural=True).capitalize(), reverse('issuesdb-audit-list') ), items.MenuItem( get_model_verbose_name(Project, plural=True).capitalize(), reverse('issuesdb-project-list') ), items.MenuItem( get_model_verbose_name(Contact, plural=True).capitalize(), reverse('issuesdb-contact-list') ), items.MenuItem( get_model_verbose_name(IssueSource, plural=True).capitalize(), reverse('issuesdb-issuesource-list'), ), items.MenuItem( 'Checklist', reverse('checklist_view'), ), ))