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.commercialoperator_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(CommercialOperatorRoutingView, 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):
     user = self.request.user
     if user.is_authenticated() and is_internal(self.request):
         #queryset =  Referral.objects.filter(referral=user)
         queryset = DistrictProposal.objects.all()
         return queryset
     return DistrictProposal.objects.none()
Ejemplo n.º 5
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.commercialoperator_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.º 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.commercialoperator_organisations.all()
         ]
         return OrganisationContact.objects.filter(
             Q(organisation_id__in=user_orgs))
     return OrganisationContact.objects.none()
Ejemplo n.º 7
0
 def get_queryset(self):
     user = self.request.user
     if is_internal(self.request):
         return Booking.objects.all()
     elif is_customer(self.request):
         user_orgs = [
             org.id for org in user.commercialoperator_organisations.all()
         ]
         return Booking.objects.filter(
             Q(proposal__org_applicant_id__in=user_orgs)
             | Q(proposal__submitter=user))
     return Booking.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_queryset(self):
     user = self.request.user
     if is_internal(self.request):
         return ParkBooking.objects.all().exclude(
             booking__booking_type=Booking.BOOKING_TYPE_TEMPORARY)
     elif is_customer(self.request):
         user_orgs = [
             org.id for org in user.commercialoperator_organisations.all()
         ]
         return ParkBooking.objects.filter(
             Q(booking__proposal__org_applicant_id__in=user_orgs)
             | Q(booking__proposal__submitter=user)).exclude(
                 booking__booking_type=Booking.BOOKING_TYPE_TEMPORARY)
     return ParkBooking.objects.none()
Ejemplo n.º 10
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.commercialoperator_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.º 11
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, 'commercialoperator/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.º 12
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.º 13
0
 def get_queryset(self):
     user = self.request.user
     if is_internal(self.request):  #user.is_authenticated():
         qs = Proposal.objects.all().exclude(
             application_type=self.excluded_type)
         return qs.exclude(migrated=True)
         #return Proposal.objects.filter(region__isnull=False)
     elif is_customer(self.request):
         user_orgs = [
             org.id for org in user.commercialoperator_organisations.all()
         ]
         queryset = Proposal.objects.filter(
             Q(org_applicant_id__in=user_orgs)
             | Q(submitter=user)).exclude(migrated=True)
         #queryset =  Proposal.objects.filter(region__isnull=False).filter( Q(applicant_id__in = user_orgs) | Q(submitter = user) )
         return queryset.exclude(application_type=self.excluded_type)
     logger.warn(
         "User is neither customer nor internal user: {} <{}>".format(
             user.get_full_name(), user.email))
     return Proposal.objects.none()
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 commercialoperator_helpers.is_internal(request)
Ejemplo n.º 16
0
 def check_owner(self, organisation):
     return is_in_organisation_contacts(self.request, organisation) or is_internal(self.request) or self.request.user.is_superuser