Exemplo n.º 1
0
    def get_resources(instance, form):

        attrs = {}

        attrs['created_at'] = fields.Field(
            attribute="created_at",
            column_name="Fecha de creación",
            readonly=True,
            widget=widgets.DateTimeWidget(format="%d-%m-%Y %H:%M:%S"))

        attrs['updated_at'] = fields.Field(
            attribute="updated_at",
            column_name="Fecha de actualizado",
            readonly=True,
            widget=widgets.DateTimeWidget(format="%d-%m-%Y %H:%M:%S"))
        attrs['updated_by'] = fields.Field(
            attribute="updated_by",
            column_name="Actualizado por",
            readonly=True,
        )

        for i in instance.valuesJSON:
            attrs[i] = fields.Field(column_name=i, )

            def dehydrate(self, model, j=i):
                data = ''
                if model.valuesJSON.get(j):
                    data = model.valuesJSON[j]
                else:
                    data = ''
                return data

            attrs['dehydrate_{}'.format(i)] = dehydrate

        return type('DataResources', (BaseResource, ), attrs)
Exemplo n.º 2
0
class PaymentResource(resources.ModelResource):
    trans_id = fields.Field(column_name='Trans ID', attribute='trans_id')
    channel = fields.Field(column_name='Channel', attribute='channel')
    receipt_no = fields.Field(column_name='Rceipt No', attribute='receipt_no')
    payer_account = fields.Field(
        column_name='Payer MSISDN', attribute='payer_account')
    payer_name = fields.Field(column_name='Payer Name', attribute='payer_name')
    trans_date = fields.Field(column_name='Trans Date', attribute='trans_date',
                              widget=widgets.DateTimeWidget(format='%d/%m/%Y %H:%M'))
    amount = fields.Field(column_name='Amount', attribute='amount')
    ticket_issued = fields.Field(
        column_name='Ticket Issued', attribute='ticket_issued')

    def __init__(self, user):
        self.user = user

    class Meta:
        model = Payment
        fields = ['trans_id', 'channel', 'receipt_no', 'payer_account', 'payer_name', 'trans_date',
                  'amount', 'ticket_issued']

    def get_queryset(self):
        if self.user:
            role = self.user.profile.role
            if role:
                if role.is_internal:
                    return Payment.objects.all().order_by('-trans_date')
                else:
                    company = self.user.companyuser.company
                    return Payment.objects.filter(company=company).order_by('-trans_date')
        print('Not allowed to export!')
        return []
Exemplo n.º 3
0
class TicketResource(resources.ModelResource):
    trans_id = fields.Field(column_name='Trans ID', attribute='payment',
                            widget=widgets.ForeignKeyWidget(Payment, 'trans_id'))
    issuer = fields.Field(column_name='Issuer', attribute='issuer',
                          widget=widgets.ForeignKeyWidget(CompanyUser, 'user__username'))
    region = fields.Field(column_name='Region', attribute='region',
                          widget=widgets.ForeignKeyWidget(Region, 'name'))
    issue_date = fields.Field(column_name='Issue Date', attribute='issue_date',
                              widget=widgets.DateTimeWidget(format='%d/%m/%Y %H:%M'))
    unit_price = fields.Field(column_name='Unit Price', attribute='unit_price')
    ticket_value = fields.Field(column_name='Amount', attribute='ticket_value')
    ticket_count = fields.Field(
        column_name='Ticket Count', attribute='ticket_count')
    balance = fields.Field(column_name='Balance', attribute='balance')

    def __init__(self, user):
        self.user = user

    class Meta:
        model = Ticket
        fields = ['trans_id', 'region', 'issue_date', 'ticket_value',
                  'unit_price', 'ticket_count', 'balance', 'issuer']

    def get_queryset(self):
        if self.user:
            role = self.user.profile.role
            print(f'User: {self.user}, Role: {role}')
            if role:
                if role.is_internal:
                    return Ticket.objects.all().order_by('-issue_date')
                else:
                    region = self.user.companyuser.region
                    return Ticket.objects.filter(region=region).order_by('-issue_date')
        print('Not allowed to export!')
        return []
Exemplo n.º 4
0
 def setUp(self):
     self.datetime = datetime(2012, 8, 13, 18, 0, 0)
     self.widget = widgets.DateTimeWidget('%d.%m.%Y %H:%M:%S')
 def setUp(self):
     self.datetime = datetime(1868, 8, 13)
     self.widget = widgets.DateTimeWidget('%d.%m.%Y')
 def test_default_format(self):
     self.widget = widgets.DateTimeWidget()
     self.assertEqual(("%Y-%m-%d %H:%M:%S", ), self.widget.formats)