Reviewed-on: OneTeam/don_confiao#81
This commit is contained in:
		@@ -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;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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),
 | 
				
			||||||
 | 
					        ),
 | 
				
			||||||
 | 
					    ]
 | 
				
			||||||
@@ -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(
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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 = ''
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user