Ejemplo n.º 1
0
    def applications_filters(self):
        status_filter_values = \
            [('all', 'All')] + [(self.STATUS_PENDING, self.STATUS_PENDING.capitalize())] + \
            base.get_processing_statuses_but_draft()

        assignee_filter_values = [('all', 'All')] + [(user.pk, base.render_user_name(user),) for user in
                                                     get_all_officers()]
        return {
            'licence_type': self.get_licence_types_values(),
            'status': status_filter_values,
            'assignee': assignee_filter_values
        }
Ejemplo n.º 2
0
    def applications_filters(self):
        status_filter_values = \
            [('all', 'All')] + [(self.STATUS_PENDING, self.STATUS_PENDING.capitalize())] + \
            base.get_processing_statuses_but_draft()

        assignee_filter_values = [('all', 'All')] + [(
            user.pk,
            base.render_user_name(user),
        ) for user in get_all_officers()]
        return {
            'licence_type': self.get_licence_types_values(),
            'status': status_filter_values,
            'assignee': assignee_filter_values
        }
Ejemplo n.º 3
0
 def _build_data(self):
     data = super(TableApplicationsOfficerView, self)._build_data()
     data['applications']['columnDefinitions'] = [{
         'title': 'Lodge Number'
     }, {
         'title': 'Licence Type'
     }, {
         'title': 'User'
     }, {
         'title': 'Status',
     }, {
         'title': 'Lodged on'
     }, {
         'title': 'Assignee'
     }, {
         'title': 'Proxy'
     }, {
         'title': 'Payment',
         'searchable': False,
         'orderable': False
     }, {
         'title': 'Action',
         'searchable': False,
         'orderable': False
     }]
     data['applications']['filters']['status']['values'] = \
         [('all', 'All')] + [(self.STATUS_PENDING, self.STATUS_PENDING.capitalize())] + \
         base.get_processing_statuses_but_draft()
     data['applications']['filters']['assignee'] = {
         'values': [('all', 'All')] + [(
             user.pk,
             base.render_user_name(user),
         ) for user in get_all_officers()]
     }
     data['applications']['ajax']['url'] = reverse(
         'wl_dashboard:data_application_officer')
     # global table options
     data['applications']['tableOptions'] = {'pageLength': 25}
     return data
Ejemplo n.º 4
0
 def _build_data(self):
     data = super(TableApplicationsOfficerView, self)._build_data()
     data['applications']['columnDefinitions'] = [
         {
             'title': 'Lodge Number'
         },
         {
             'title': 'Licence Type'
         },
         {
             'title': 'User'
         },
         {
             'title': 'Status',
         },
         {
             'title': 'Lodged on'
         },
         {
             'title': 'Assignee'
         },
         {
             'title': 'Proxy'
         },
         {
             'title': 'Payment',
             'searchable': False,
             'orderable': False
         },
         {
             'title': 'Action',
             'searchable': False,
             'orderable': False
         }
     ]
     data['applications']['filters']['status']['values'] = \
         [('all', 'All')] + [(self.STATUS_PENDING, self.STATUS_PENDING.capitalize())] + \
         base.get_processing_statuses_but_draft()
     data['applications']['filters']['assignee'] = {
         'values': [('all', 'All')] + [(user.pk, base.render_user_name(user),) for user in get_all_officers()]
     }
     data['applications']['ajax']['url'] = reverse('wl_dashboard:data_application_officer')
     # global table options
     data['applications']['tableOptions'] = {
         'pageLength': 25
     }
     return data
Ejemplo n.º 5
0
    def _build_data(self, request, application):
        officers = [{'id': officer.id, 'text': render_user_name(officer)} for officer in get_all_officers()]
        officers.insert(0, {'id': 0, 'text': 'Unassigned'})

        current_ass_groups = [ass_request.assessor_group for ass_request in
                              Assessment.objects.filter(application=application)]

        ass_groups = [{'id': ass_group.id, 'text': ass_group.name} for ass_group in
                      AssessorGroup.objects.all().exclude(id__in=[ass_group.pk for ass_group in current_ass_groups])]

        # extract and format the previous lodgements of the application
        previous_lodgements = []
        for revision in revisions.get_for_object(application).filter(revision__comment='Details Modified').order_by(
                '-revision__date_created'):
            previous_lodgement = revision.object_version.object

            if previous_lodgement.hard_copy is not None:
                previous_lodgement.licence_type.application_schema, previous_lodgement.data = \
                    append_app_document_to_schema_data(previous_lodgement.licence_type.application_schema,
                                                       previous_lodgement.data,
                                                       previous_lodgement.hard_copy.file.url)

            # reversion won't reference the previous many-to-many sets, only the latest one, so need to get documents as per below
            previous_lodgement_documents = Document.objects.filter(pk__in=revision.field_dict['documents'])

            convert_documents_to_url(previous_lodgement.data, previous_lodgement_documents, '')
            previous_lodgements.append({'lodgement_number': '{}-{}'.format(previous_lodgement.lodgement_number,
                                                                           previous_lodgement.lodgement_sequence),
                                        'date': formats.date_format(revision.revision.date_created, 'd/m/Y', True),
                                        'data': previous_lodgement.data})

        previous_application_returns_outstanding = False
        if application.previous_application is not None:
            previous_application_returns_outstanding = Return.objects.filter(
                licence=application.previous_application.licence). \
                exclude(status='accepted').exclude(status='submitted').exists()

        if application.hard_copy is not None:
            application.licence_type.application_schema, application.data = \
                append_app_document_to_schema_data(application.licence_type.application_schema, application.data,
                                                   application.hard_copy.file.url)

        convert_documents_to_url(application.data, application.documents.all(), '')

        data = {
            'user': serialize(request.user),
            'application': serialize(application, posthook=format_application),
            'form_structure': application.licence_type.application_schema,
            'officers': officers,
            'amendment_requests': serialize(AmendmentRequest.objects.filter(application=application),
                                            posthook=format_amendment_request),
            'assessor_groups': ass_groups,
            'assessments': serialize(Assessment.objects.filter(application=application),
                                     posthook=format_assessment),
            'previous_versions': serialize(previous_lodgements),
            'returns_outstanding': previous_application_returns_outstanding,
            'payment_status': payment_utils.PAYMENT_STATUSES.get(payment_utils.
                                                                 get_application_payment_status(application)),
            'csrf_token': str(csrf(request).get('csrf_token'))
        }

        return data
Ejemplo n.º 6
0
    def _build_data(self, request, application):
        with open('%s/json/%s.json' % (APPLICATION_SCHEMA_PATH, application.licence_type.code)) as data_file:
            form_structure = json.load(data_file)

        officers = [{'id': officer.id, 'text': render_user_name(officer)} for officer in get_all_officers()]
        officers.insert(0, {'id': 0, 'text': 'Unassigned'})

        current_ass_groups = [ass_request.assessor_group for ass_request in Assessment.objects.filter(application=application)]
        ass_groups = [{'id': ass_group.id, 'text': ass_group.name} for ass_group in
                     AssessorGroup.objects.all().exclude(id__in=[ass_group.pk for ass_group in current_ass_groups])]

        previous_application_data = []
        for revision in revisions.get_for_object(application).filter(revision__comment='Details Modified').order_by('-revision__date_created'):
            previous_application_data.append({'lodgement_number': revision.object_version.object.lodgement_number +
                                              '-' + str(revision.object_version.object.lodgement_sequence),
                                              'date': formats.date_format(revision.revision.date_created, 'd/m/Y', True),
                                              'data': revision.object_version.object.data})

        data = {
            'user': serialize(request.user),
            'application': serialize(application, posthook=format_application),
            'form_structure': form_structure,
            'officers': officers,
            'amendment_requests': serialize(AmendmentRequest.objects.filter(application=application), posthook=format_amendment_request),
            'assessor_groups': ass_groups,
            'assessments': serialize(Assessment.objects.filter(application=application),
                                     posthook=format_assessment),
            'previous_application_data': serialize(previous_application_data),
            'csrf_token': str(csrf(request).get('csrf_token'))
        }

        return data
Ejemplo n.º 7
0
 def _build_data(self):
     data = super(DashboardTableOfficerView, self)._build_data()
     data['applications']['columnDefinitions'] = [
         {
             'title': 'Lodge No.'
         },
         {
             'title': 'Licence Type'
         },
         {
             'title': 'User'
         },
         {
             'title': 'Status',
         },
         {
             'title': 'Lodged on'
         },
         {
             'title': 'Assignee'
         },
         {
             'title': 'Action',
             'searchable': False,
             'orderable': False
         }
     ]
     data['applications']['filters']['status']['values'] = \
         [('all', 'All')] + _get_processing_statuses_but_draft()
     data['applications']['filters']['assignee'] = {
         'values': [('all', 'All')] + [(user.pk, render_user_name(user),) for user in get_all_officers()]
     }
     data['applications']['ajax']['url'] = reverse('dashboard:data_application_officer')
     return data
Ejemplo n.º 8
0
    def _build_data(self, request, application):
        officers = [{'id': officer.id, 'text': render_user_name(officer)} for officer in get_all_officers()]
        officers.insert(0, {'id': 0, 'text': 'Unassigned'})

        current_ass_groups = [ass_request.assessor_group for ass_request in
                              Assessment.objects.filter(application=application)]

        ass_groups = [{'id': ass_group.id, 'text': ass_group.name} for ass_group in
                      AssessorGroup.objects.all().exclude(id__in=[ass_group.pk for ass_group in current_ass_groups]).
                          order_by('name')]

        # extract and format the previous lodgements of the application
        previous_lodgements = []
        for revision in revisions.get_for_object(application).filter(revision__comment='Details Modified').order_by(
                '-revision__date_created'):
            previous_lodgement = revision.object_version.object

            if previous_lodgement.hard_copy is not None:
                previous_lodgement.licence_type.application_schema, previous_lodgement.data = \
                    append_app_document_to_schema_data(previous_lodgement.licence_type.application_schema,
                                                       previous_lodgement.data,
                                                       previous_lodgement.hard_copy.file.url)

            # reversion won't reference the previous many-to-many sets, only the latest one, so need to get documents as per below
            previous_lodgement_documents = Document.objects.filter(pk__in=revision.field_dict['documents'])

            convert_documents_to_url(previous_lodgement.data, previous_lodgement_documents, '')
            previous_lodgements.append({'lodgement_number': '{}-{}'.format(previous_lodgement.lodgement_number,
                                                                           previous_lodgement.lodgement_sequence),
                                        'date': formats.date_format(revision.revision.date_created, 'd/m/Y', True),
                                        'data': previous_lodgement.data})

        previous_application_returns_outstanding = False
        if application.previous_application is not None:
            previous_application_returns_outstanding = Return.objects.filter(
                licence=application.previous_application.licence). \
                exclude(status='accepted').exclude(status='submitted').exists()

        if application.hard_copy is not None:
            application.licence_type.application_schema, application.data = \
                append_app_document_to_schema_data(application.licence_type.application_schema, application.data,
                                                   application.hard_copy.file.url)

        convert_documents_to_url(application.data, application.documents.all(), '')

        data = {
            'user': serialize(request.user),
            'application': serialize(application, posthook=format_application),
            'form_structure': application.licence_type.application_schema,
            'officers': officers,
            'amendment_requests': serialize(AmendmentRequest.objects.filter(application=application),
                                            posthook=format_amendment_request),
            'assessor_groups': ass_groups,
            'assessments': serialize(Assessment.objects.filter(application=application),
                                     posthook=format_assessment),
            'previous_versions': serialize(previous_lodgements),
            'returns_outstanding': previous_application_returns_outstanding,
            'payment_status': payment_utils.PAYMENT_STATUSES.get(payment_utils.
                                                                 get_application_payment_status(application)),
            'csrf_token': str(csrf(request).get('csrf_token'))
        }

        return data