Example #1
0
    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
Example #2
0
 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
Example #3
0
    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
Example #4
0
    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
Example #5
0
    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
Example #6
0
File: menu.py Project: sapo/vulnmgt
 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'),
         ),
     ))