Ejemplo n.º 1
0
 def _get_queryset(self):
     user = self.request.user
     if is_internal(self.request):
         return Organisation.objects.all()
     elif is_customer(self.request):
         return user.mooringlicensing_organisations.all()
     return Organisation.objects.none()
Ejemplo n.º 2
0
 def get(self, *args, **kwargs):
     if self.request.user.is_authenticated():
         if is_internal(self.request):
             return redirect('internal')
         return redirect('external')
     kwargs['form'] = LoginForm
     return super(MooringLicensingRoutingView, self).get(*args, **kwargs)
Ejemplo n.º 3
0
 def get_queryset(self):
     user = self.request.user
     if is_internal(self.request):
         return OrganisationRequest.objects.all()
     elif is_customer(self.request):
         return user.organisationrequest_set.all()
     return OrganisationRequest.objects.none()
Ejemplo n.º 4
0
 def get_queryset(self):
     if is_internal(self.request):
         return Compliance.objects.all().exclude(processing_status='discarded')
     elif is_customer(self.request):
         user_orgs = [org.id for org in self.request.user.mooringlicensing_organisations.all()]
         queryset =  Compliance.objects.filter( Q(proposal__org_applicant_id__in = user_orgs) | Q(proposal__submitter = self.request.user) ).exclude(processing_status='discarded')
         return queryset
     return Compliance.objects.none()
Ejemplo n.º 5
0
    def get_queryset(self):
        request_user = self.request.user
        qs = Compliance.objects.none()

        if is_internal(self.request):
            qs = Compliance.objects.all()
        elif is_customer(self.request):
            qs = Compliance.objects.filter(Q(approval__submitter=request_user))

        return qs
Ejemplo n.º 6
0
 def get_queryset(self):
     user = self.request.user
     if is_internal(self.request):
         return OrganisationContact.objects.all()
     elif is_customer(self.request):
         user_orgs = [
             org.id for org in user.mooringlicensing_organisations.all()
         ]
         return OrganisationContact.objects.filter(
             Q(organisation_id__in=user_orgs))
     return OrganisationContact.objects.none()
Ejemplo n.º 7
0
 def get_queryset(self):
     if is_internal(self.request):
         return Approval.objects.all()
     elif is_customer(self.request):
         user_orgs = [
             org.id for org in
             self.request.user.mooringlicensing_organisations.all()
         ]
         queryset = Approval.objects.filter(
             Q(org_applicant_id__in=user_orgs)
             | Q(submitter=self.request.user))
         return queryset
     return Approval.objects.none()
Ejemplo n.º 8
0
 def get(self, request, format=None):
     members = []
     if is_internal(request):
         group = OrganisationAccessGroup.objects.first()
         if group:
             for m in group.all_members:
                 members.append({'name': m.get_full_name(), 'id': m.id})
         else:
             for m in EmailUser.objects.filter(is_superuser=True,
                                               is_staff=True,
                                               is_active=True):
                 members.append({'name': m.get_full_name(), 'id': m.id})
     return Response(members)
Ejemplo n.º 9
0
    def get_context_data(self, **kwargs):
        context = super(HelpView, self).get_context_data(**kwargs)

        if self.request.user.is_authenticated():
            application_type = kwargs.get('application_type', None)
            if kwargs.get('help_type', None) == 'assessor':
                if is_internal(self.request):
                    qs = HelpPage.objects.filter(
                        application_type__name__icontains=application_type,
                        help_type=HelpPage.HELP_TEXT_INTERNAL).order_by(
                            '-version')
                    context['help'] = qs.first()
            else:
                qs = HelpPage.objects.filter(
                    application_type__name__icontains=application_type,
                    help_type=HelpPage.HELP_TEXT_EXTERNAL).order_by('-version')
                context['help'] = qs.first()
        return context
Ejemplo n.º 10
0
    def get_queryset(self):
        request_user = self.request.user
        qs = Compliance.objects.none()

        target_email_user_id = int(
            self.request.GET.get('target_email_user_id', 0))

        if is_internal(self.request):
            if target_email_user_id:
                target_user = EmailUser.objects.get(id=target_email_user_id)
                qs = Compliance.objects.filter(
                    Q(approval__submitter=target_user))
            else:
                qs = Compliance.objects.all()
        elif is_customer(self.request):
            qs = Compliance.objects.filter(Q(approval__submitter=request_user))

        return qs
Ejemplo n.º 11
0
    def update_details(self, request, *args, **kwargs):
        try:
            org = self.get_object()
            instance = org.organisation
            data = request.data
            serializer = DetailsSerializer(instance,
                                           data=data,
                                           context={'request': request})
            serializer.is_valid(raise_exception=True)
            instance = serializer.save()
            #serializer = self.get_serializer(org)

            if is_internal(
                    request) and 'apply_application_discount' in request.data:
                data = request.data
                if not data['apply_application_discount']:
                    data['application_discount'] = 0
                if not data['apply_licence_discount']:
                    data['licence_discount'] = 0

                if data['application_discount'] == 0:
                    data['apply_application_discount'] = False
                if data['licence_discount'] == 0:
                    data['apply_licence_discount'] = False

                serializer = SaveDiscountSerializer(org, data=data)
                serializer.is_valid(raise_exception=True)
                instance = serializer.save()

            serializer = self.get_serializer(org)
            return Response(serializer.data)
        except serializers.ValidationError as e:
            print(e.get_full_details())
            #raise serializers.ValidationError(str( e.get_full_details() ))
            raise
        except ValidationError as e:
            if hasattr(e, 'error_dict'):
                raise serializers.ValidationError(repr(e.error_dict))
            if hasattr(e, 'message'):
                raise serializers.ValidationError(e.message)
        except Exception as e:
            print(traceback.print_exc())
            raise serializers.ValidationError(str(e))
Ejemplo n.º 12
0
    def get_queryset(self):
        request_user = self.request.user

        # Filter by Type(s) according to the tables
        filter_approval_types = self.request.GET.get('filter_approval_types',
                                                     '')
        filter_approval_types = filter_approval_types.split(',')
        q = Q()
        for filter_approval_type in filter_approval_types:
            if filter_approval_type:
                for item in Approval.__subclasses__():
                    if hasattr(item,
                               'code') and item.code == filter_approval_type:
                        lookup = "{}__isnull".format(item._meta.model_name)
                        q |= Q(**{lookup: False})
        qs = Approval.objects.filter(q).order_by(
            '-id') if q else Approval.objects.none()

        if is_internal(self.request):
            return qs.all()
        elif is_customer(self.request):
            # Filter by to_be_endorsed
            filter_by_endorsement = self.request.GET.get(
                'filter_by_endorsement', 'false')
            filter_by_endorsement = True if filter_by_endorsement.lower() in [
                'true',
                'yes',
                't',
                'y',
            ] else False
            if filter_by_endorsement:
                #
                qs = qs.filter(authoriseduserpermit__endorsed_by=request_user)
            else:
                qs = qs.filter(
                    Q(submitter=request_user
                      ))  # Not sure if the submitter is the licence holder
            return qs
        return qs
Ejemplo n.º 13
0
    def get_context_data(self, **kwargs):
        context = super(HelpView, self).get_context_data(**kwargs)

        if self.request.user.is_authenticated():
            application_type = kwargs.get('application_type', None)
            if kwargs.get('help_type', None) == 'assessor':
                if is_internal(self.request):
                    qs = HelpPage.objects.filter(
                        application_type__name__icontains=application_type,
                        help_type=HelpPage.HELP_TEXT_INTERNAL).order_by(
                            '-version')
                    context['help'] = qs.first()


#                else:
#                    return TemplateResponse(self.request, 'mooringlicensing/not-permitted.html', context)
#                    context['permitted'] = False
            else:
                qs = HelpPage.objects.filter(
                    application_type__name__icontains=application_type,
                    help_type=HelpPage.HELP_TEXT_EXTERNAL).order_by('-version')
                context['help'] = qs.first()
        return context
Ejemplo n.º 14
0
 def test_func(self):
     return is_internal(self.request)
Ejemplo n.º 15
0
def is_internal(context):
    # checks if user is a departmentuser and logged in via single sign-on
    request = context['request']
    return mooringlicensing_helpers.is_internal(request)