Merge pull request 'Fix: closed #79' (#81) from PurchaseDateTimeField into main

Reviewed-on: OneTeam/don_confiao#81
This commit is contained in:
Rodia 2024-11-16 16:00:27 -05:00
commit 543e927fb0
4 changed files with 64 additions and 38 deletions

View File

@ -2,36 +2,34 @@
<v-container> <v-container>
<v-form ref="purchase" v-model="valid" @change="onFormChange"> <v-form ref="purchase" v-model="valid" @change="onFormChange">
<v-row> <v-row>
<v-col> <v-col>
<v-autocomplete <v-autocomplete
v-model="purchase.customer" v-model="purchase.customer"
:items="filteredClients" :items="filteredClients"
:search="client_search" :search="client_search"
no-data-text="No se hallaron clientes" no-data-text="No se hallaron clientes"
item-title="name" item-title="name"
item-value="id" item-value="id"
@update:model-value="onFormChange" @update:model-value="onFormChange"
label="Cliente" label="Cliente"
:rules="[rules.required]" :rules="[rules.required]"
required required
class="mr-4" class="mr-4"
></v-autocomplete> ></v-autocomplete>
<v-btn color="primary" @click="openModal">Agregar Cliente</v-btn> <v-btn color="primary" @click="openModal">Agregar Cliente</v-btn>
<CreateCustomerModal ref="customerModal" @customerCreated="handleNewCustomer"/> <CreateCustomerModal ref="customerModal" @customerCreated="handleNewCustomer"/>
</v-col> </v-col>
<v-col <v-col lg="4">
lg="2" <v-text-field
> v-model="purchase.date"
<v-text-field label="Fecha"
v-model="purchase.date" type="datetime-local"
label="Fecha" :rules="[rules.required]"
type="date" required
:rules="[rules.required]" readonly
required
></v-text-field> ></v-text-field>
</v-col> </v-col>
</v-row> </v-row>
<v-textarea <v-textarea
v-model="purchase.notes" v-model="purchase.notes"
label="Notas" label="Notas"
@ -247,15 +245,15 @@
} }
}, },
getCurrentDate() { getCurrentDate() {
const today = new Date(); const today = new Date();
const yyyy = today.getFullYear(); const gmtOffSet = -5;
const mm = String(today.getMonth() + 1).padStart(2, '0'); const localDate = new Date(today.getTime() + (gmtOffSet * 60 * 60 * 1000));
const dd = String(today.getDate()).padStart(2, '0'); // Formatear la fecha y hora en el formato YYYY-MM-DDTHH:MM
return `${yyyy}-${mm}-${dd}`; const formattedDate = localDate.toISOString().slice(0,16);
return formattedDate;
}, },
onProductChange(index) {
onProductChange(index) { const selectedProductId = this.purchase.saleline_set[index].product;
const selectedProductId = this.purchase.saleline_set[index].product;
const selectedProduct = this.products.find(p => p.id == selectedProductId); const selectedProduct = this.products.find(p => p.id == selectedProductId);
this.purchase.saleline_set[index].unit_price = selectedProduct.price; this.purchase.saleline_set[index].unit_price = selectedProduct.price;
this.purchase.saleline_set[index].measuring_unit = selectedProduct.measuring_unit; this.purchase.saleline_set[index].measuring_unit = selectedProduct.measuring_unit;

View File

@ -0,0 +1,28 @@
# Generated by Django 5.0.6 on 2024-11-16 20:55
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('don_confiao', '0033_sale_payment_method'),
]
operations = [
migrations.AlterField(
model_name='payment',
name='type_payment',
field=models.CharField(choices=[('CASH', 'Efectivo'), ('CONFIAR', 'Confiar'), ('BANCOLOMBIA', 'Bancolombia')], default='CASH', max_length=30),
),
migrations.AlterField(
model_name='sale',
name='date',
field=models.DateTimeField(verbose_name='Date'),
),
migrations.AlterField(
model_name='sale',
name='payment_method',
field=models.CharField(choices=[('CASH', 'Efectivo'), ('CONFIAR', 'Confiar'), ('BANCOLOMBIA', 'Bancolombia')], default='CASH', max_length=30),
),
]

View File

@ -64,7 +64,7 @@ class Product(models.Model):
class Sale(models.Model): class Sale(models.Model):
customer = models.ForeignKey(Customer, on_delete=models.PROTECT) customer = models.ForeignKey(Customer, on_delete=models.PROTECT)
date = models.DateField("Date") date = models.DateTimeField("Date")
phone = models.CharField(max_length=13, null=True, blank=True) phone = models.CharField(max_length=13, null=True, blank=True)
description = models.CharField(max_length=255, null=True, blank=True) description = models.CharField(max_length=255, null=True, blank=True)
payment_method = models.CharField( payment_method = models.CharField(

View File

@ -19,7 +19,7 @@ class ConfiaoTest(TestCase):
def test_create_sale(self): def test_create_sale(self):
sale = Sale() sale = Sale()
sale.customer = self.customer sale.customer = self.customer
sale.date = "2024-06-22" sale.date = "2024-06-22 12:05:00"
sale.phone = '666666666' sale.phone = '666666666'
sale.description = "Description" sale.description = "Description"
sale.save() sale.save()
@ -29,7 +29,7 @@ class ConfiaoTest(TestCase):
def test_can_create_sale_without_payment_method(self): def test_can_create_sale_without_payment_method(self):
sale = Sale() sale = Sale()
sale.customer = self.customer sale.customer = self.customer
sale.date = "2024-06-22" sale.date = "2024-06-22 12:05:00"
sale.phone = '666666666' sale.phone = '666666666'
sale.description = "Description" sale.description = "Description"
sale.payment_method = '' sale.payment_method = ''