Esempio 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.disturbance_organisations.all()
     return Organisation.objects.none()
Esempio n. 2
0
 def get_queryset(self):
     #import ipdb; ipdb.set_trace()
     if is_internal(self.request):
         #return Compliance.objects.all()
         return Compliance.objects.all().exclude(
             processing_status='discarded')
     elif is_customer(self.request):
         user_orgs = [
             org.id
             for org in self.request.user.disturbance_organisations.all()
         ]
         compliance_id_list = []
         # Apiary logic for individual applicants
         for apiary_compliance in Compliance.objects.filter(
                 Q(approval__applicant_id__in=user_orgs)
                 | Q(approval__proxy_applicant=self.request.user)).exclude(
                     processing_status='discarded'):
             compliance_id_list.append(apiary_compliance.id)
         # DAS logic
         for das_compliance in Compliance.objects.filter(
                 Q(proposal__applicant_id__in=user_orgs)
                 | Q(proposal__submitter=self.request.user)).exclude(
                     processing_status='discarded'):
             compliance_id_list.append(das_compliance.id)
         # Return all records
         queryset = Compliance.objects.filter(id__in=compliance_id_list)
         return queryset
     return Compliance.objects.none()
Esempio 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()
Esempio n. 4
0
def disturbance_url(request):
    template_group = 'disturbance'
    TERMS = "/know/online-disturbance-apiary-terms-and-conditions"

    is_officer = False
    is_admin = False
    is_customer = False

    if request.user.is_authenticated:
        is_admin = helpers.is_disturbance_admin(request)
        is_apiary_admin = helpers.is_disturbance_admin(request)
        is_customer = helpers.is_customer(request)

    return {
        'APIARY_SEARCH': '/external/payment',
        'APIARY_CONTACT': '/contact-us',
        'APIARY_TERMS': TERMS,
        'DEV_STATIC': settings.DEV_STATIC,
        'DEV_STATIC_URL': settings.DEV_STATIC_URL,
        'TEMPLATE_GROUP': template_group,
        'SYSTEM_NAME': settings.SYSTEM_NAME,
        'IS_OFFICER': is_officer,
        'IS_ADMIN': is_admin,
        'IS_APIARY_ADMIN': is_apiary_admin,
        'IS_CUSTOMER': is_customer,
        'PUBLIC_URL': settings.PUBLIC_URL
    }
Esempio n. 5
0
 def get_queryset(self):
     user = self.request.user
     if is_internal(self.request):
         qs = OrganisationRequest.objects.all().order_by('-lodgement_date')
         return qs
     elif is_customer(self.request):
         return user.organisationrequest_set.all()
     return OrganisationRequest.objects.none()
Esempio n. 6
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.disturbance_organisations.all()]
         queryset =  Approval.objects.filter(applicant_id__in = user_orgs)
         return queryset
     return Approval.objects.none()
Esempio n. 7
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.disturbance_organisations.all()]
         queryset =  Compliance.objects.filter( Q(proposal__applicant_id__in = user_orgs) | Q(proposal__submitter = self.request.user) ).exclude(processing_status='discarded')
         return queryset
     return Compliance.objects.none()
Esempio n. 8
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.disturbance_organisations.all()
         ]
         return OrganisationContact.objects.filter(
             Q(organisation_id__in=user_orgs))
     return OrganisationContact.objects.none()
Esempio n. 9
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.disturbance_organisations.all()
         ]
         queryset = Compliance.objects.filter(
             Q(proposal__applicant_id__in=user_orgs)
             | Q(proposal__submitter=self.request.user)).exclude(
                 processing_status='discarded')
         return queryset
     return Compliance.objects.none()
Esempio n. 10
0
    def approval_surrender(self, request, details):
        with transaction.atomic():
            try:
                if self.applicant and not request.user.disturbance_organisations.filter(
                        organisation_id=self.relevant_applicant_id):
                    #if not request.user in self.allowed_assessors:
                    if request.user not in self.allowed_assessors and not is_customer(
                            request):
                        raise ValidationError(
                            'You do not have access to surrender this approval'
                        )
                if not self.can_reissue and self.can_action:
                    raise ValidationError(
                        'You cannot surrender approval if it is not current or suspended'
                    )
                self.surrender_details = {
                    'surrender_date':
                    details.get('surrender_date').strftime('%d/%m/%Y'),
                    'details':
                    details.get('surrender_details'),
                }
                today = timezone.now().date()
                surrender_date = datetime.datetime.strptime(
                    self.surrender_details['surrender_date'], '%d/%m/%Y')
                surrender_date = surrender_date.date()
                if surrender_date <= today:
                    if not self.status == Approval.STATUS_SURRENDERED:
                        self.status = Approval.STATUS_SURRENDERED
                        self.set_to_surrender = False
                        self.save()
                        send_approval_surrender_email_notification(self)

                        # Change the statuses of the apiary sites, too
                        self.change_apiary_site_status(self.status)
                else:
                    self.set_to_surrender = True
                    send_approval_surrender_email_notification(
                        self, future_surrender=True)
                self.save()
                # Log approval action
                self.log_user_action(
                    ApprovalUserAction.ACTION_SURRENDER_APPROVAL.format(
                        self.lodgement_number), request)
                # Log entry for proposal
                #self.current_proposal.log_user_action(ProposalUserAction.ACTION_SURRENDER_APPROVAL.format(self.current_proposal.id),request)
            except:
                raise