Hi all,

I am struggling with a piece of code for a few days now and thought I'll 
seek for advice.

Here is the storyline:

I have a user, who enter invoices on the database based on the Invoices 
model. Each invoice is linked to an Entity. The user does not have any link 
to either the Invoice or the Entity.

When the Entity user owner access their side of the website, I would like 
to display Invoices which belong to the Entity.

Now my problem is that I can pass a entity when the invoice inputting form 
is submitted to the database but I cannot filter on the entity specifically.

I want to be able to have a following:

If Entity Y is selected, invoice 123 to be stored as linked to Entity Y
If Entity X is selected, invoice 456 to be stored as linked to Entity X.

Below is the code which works to save the Invoice input into the Invoice 
model but only with the first Entity in the Entity model. I would like to 
make it dynamic and not to hard code the Entity ID in the program.

Views.py:

def claim_details(request):                                         #save the 
invoice onto DB
    form = forms.SaveInvoice(request.POST)
    user = request.user.id
    if request.method == 'POST':
        if form.is_valid():
            instance = form.save(commit=False)
            inv = Entity.objects.all()
            print(inv)
            instance.entity_name = inv
            print(inv)
            instance.save()
            forms.SaveInvoice()

        return redirect('accounts:claim')
    else:
        form = forms.SaveInvoice()
    args = {'form': form}
    return render(request, 'dashboard/claim_details.html', args)


Models.py

class Entity(models.Model):
    contact = models.ForeignKey(User, default=None, on_delete=models.CASCADE)
    company_name = models.CharField(max_length=40, blank=False, null=True)
    vat_registration = models.CharField(max_length=12, blank=False, null=True)
    street_number = models.CharField(max_length=10, blank=False, null=True)
    street_name = models.CharField(max_length=100, blank=False, null=True)
    post_code = models.CharField(max_length=10, blank=False, null=True)
    city = models.CharField(max_length=40, blank=False, null=True)
    country = models.CharField(max_length=60, blank=False, null=True)
    email = models.EmailField(max_length=240, blank=False, null=True)

    class Meta:
        verbose_name_plural = "Entities"

    def __str__(self):
        return self.company_name


class Invoices(models.Model):
    invoice_number = models.CharField(max_length=12, blank=False, null=True)
    invoice_date = models.DateField()
    invoice_code = models.CharField(max_length=10, blank=False, null=True)
    client_ref = models.CharField(max_length=10, null=True)
    supplier = models.ForeignKey(Suppliers, default=None, 
on_delete=models.CASCADE)
    net_amount = models.FloatField()
    vat_paid = models.FloatField()
    vat_reclaimed = models.FloatField()
    invoice_type = models.CharField(max_length=10, blank=False, null=True) # 
should really be something with choices but for now it will do.
    entity_name = models.ForeignKey(Entity, blank=True, null=True, 
default=None, on_delete=models.CASCADE)

    class Meta:
        verbose_name_plural = "Invoices"

    def __str__(self):
        return self.invoice_type



I would like the entity_name ID field to be parsed depending on which 
entity is logged in the system.

here is the another view I use to display the details of a current Entity 
in my dashboard - Entity is linked to the user who created the entity.

@login_required()
def client_details(request):
    user = request.user
    company = Entity.objects.filter(contact_id=user.id)
    print(company)
    print(user.id)
    context = {'companies': company}
    return render(request, 'dashboard/client_details.html', context)


Anyway, your help here will be much appreciated and if someone who is 
knowledgeable enough will be ok to do a skype call with me to explain to me 
I'd be very grateful.

Thanks 

Jay

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/ce7f4a92-e8e4-4837-9309-2ebdf243484a%40googlegroups.com.

Reply via email to