CARGA
This commit is contained in:
2025-04-17 00:29:21 -06:00
parent 97b5f308a7
commit e36207bfb2
2553 changed files with 441497 additions and 0 deletions

0
inventario/__init__.py Normal file
View File

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

6
inventario/admin.py Normal file
View File

@@ -0,0 +1,6 @@
from django.contrib import admin
from .models import invequipo
# Register your models here.
admin.site.register(invequipo)

6
inventario/apps.py Normal file
View File

@@ -0,0 +1,6 @@
from django.apps import AppConfig
class InventarioConfig(AppConfig):
default_auto_field = 'django.db.models.BigAutoField'
name = 'inventario'

9
inventario/forms.py Normal file
View File

@@ -0,0 +1,9 @@
from django import forms
from .models import invequipo
class Formularioinvequipo(forms.ModelForm):
class Meta:
model = invequipo
fields = ('n_control', 'estado_funcional', 'obsoleto', 'localizado', 'equipo', 'area', 'marca', 'modelo', 'n_serie', 'descripcion', 'n_act_fijo', 'accesorios', 'accesorios2', 'accesorios3', 'accesorios4', 'accesorios5', 'provedor', 'c_basico', 'fecha_inst', 'inventariado')

View File

@@ -0,0 +1,44 @@
# Generated by Django 3.2.7 on 2021-10-06 12:24
from django.db import migrations, models
import django.db.models.deletion
import tinymce.models
class Migration(migrations.Migration):
initial = True
dependencies = [
('inventarioalmacen', '0007_area'),
]
operations = [
migrations.CreateModel(
name='invequipo',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('estado_funcional', models.CharField(choices=[('Funcionando', 'Funcionando'), ('No Funcionando', 'No Funcionando')], default='Funcionando', max_length=20, verbose_name='Estado Funcional')),
('n_control', models.IntegerField(unique=True, verbose_name='No Control')),
('descripcion', tinymce.models.HTMLField(verbose_name='Descripción')),
('modelo', models.CharField(blank=True, max_length=250, null=True, verbose_name='Modelo')),
('n_serie', models.CharField(max_length=250, unique=True, verbose_name='No Serie')),
('accesorios', models.CharField(blank=True, max_length=250, null=True, verbose_name='Accesorios')),
('obsoleto', models.CharField(blank=True, max_length=250, null=True, verbose_name='Obsoleto')),
('inventariado', models.CharField(blank=True, max_length=250, null=True, verbose_name='Inventariado')),
('n_act_fijo', models.CharField(blank=True, max_length=250, null=True, verbose_name='Numero Activo Fijo')),
('provedor', models.CharField(blank=True, max_length=250, null=True, verbose_name='Provedor')),
('c_basico', models.CharField(blank=True, max_length=250, null=True, verbose_name='Clave de cuadro basico')),
('fecha_alta', models.DateField(auto_now_add=True, verbose_name='Fecha alta')),
('fecha_actualizacion', models.DateField(auto_now=True, verbose_name='Fecha de Actualización')),
('area', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='inventarioalmacen.area', verbose_name='Area')),
('equipo', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='inventarioalmacen.equipo', verbose_name='Equipo')),
('marca', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='inventarioalmacen.marca', verbose_name='Marca')),
],
options={
'verbose_name': 'Equipo',
'verbose_name_plural': 'Equipos',
'ordering': ['n_control'],
},
),
]

View File

@@ -0,0 +1,53 @@
# Generated by Django 4.0.2 on 2022-03-10 22:23
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('inventario', '0001_initial'),
]
operations = [
migrations.AddField(
model_name='invequipo',
name='accesorios2',
field=models.CharField(blank=True, max_length=250, null=True, verbose_name='Accesorios 2'),
),
migrations.AddField(
model_name='invequipo',
name='accesorios3',
field=models.CharField(blank=True, max_length=250, null=True, verbose_name='Accesorios 3'),
),
migrations.AddField(
model_name='invequipo',
name='accesorios4',
field=models.CharField(blank=True, max_length=250, null=True, verbose_name='Accesorios 4'),
),
migrations.AddField(
model_name='invequipo',
name='accesorios5',
field=models.CharField(blank=True, max_length=250, null=True, verbose_name='Accesorios 5'),
),
migrations.AddField(
model_name='invequipo',
name='fecha_inst',
field=models.DateField(default='2022-12-31', verbose_name='Fecha Instalacion'),
),
migrations.AddField(
model_name='invequipo',
name='localizado',
field=models.CharField(choices=[('SI', 'SI'), ('NO', 'NO')], default='SI', max_length=20, verbose_name='Localizado'),
),
migrations.AlterField(
model_name='invequipo',
name='estado_funcional',
field=models.CharField(choices=[('Dañado', 'Dañado'), ('Marginal', 'Marginal'), ('Funcional', 'Funcional')], default='Funcional', max_length=20, verbose_name='Estatus'),
),
migrations.AlterField(
model_name='invequipo',
name='obsoleto',
field=models.CharField(choices=[('SI', 'SI'), ('NO', 'NO')], default='NO', max_length=20, verbose_name='Obsoleto'),
),
]

View File

@@ -0,0 +1,39 @@
# Generated by Django 4.0.5 on 2022-07-09 07:18
from django.db import migrations
import tinymce.models
class Migration(migrations.Migration):
dependencies = [
('inventario', '0002_invequipo_accesorios2_invequipo_accesorios3_and_more'),
]
operations = [
migrations.AlterField(
model_name='invequipo',
name='accesorios',
field=tinymce.models.HTMLField(blank=True, null=True, verbose_name='Accesorios'),
),
migrations.AlterField(
model_name='invequipo',
name='accesorios2',
field=tinymce.models.HTMLField(blank=True, null=True, verbose_name='Accesorios 2'),
),
migrations.AlterField(
model_name='invequipo',
name='accesorios3',
field=tinymce.models.HTMLField(blank=True, null=True, verbose_name='Accesorios 3'),
),
migrations.AlterField(
model_name='invequipo',
name='accesorios4',
field=tinymce.models.HTMLField(blank=True, null=True, verbose_name='Accesorios 4'),
),
migrations.AlterField(
model_name='invequipo',
name='accesorios5',
field=tinymce.models.HTMLField(blank=True, null=True, verbose_name='Accesorios 5'),
),
]

View File

@@ -0,0 +1,18 @@
# Generated by Django 4.0.5 on 2022-09-28 15:50
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('inventario', '0003_alter_invequipo_accesorios_and_more'),
]
operations = [
migrations.AlterField(
model_name='invequipo',
name='fecha_inst',
field=models.DateField(blank=True, default='2022-12-31', null=True, verbose_name='Fecha Instalacion'),
),
]

View File

44
inventario/models.py Normal file
View File

@@ -0,0 +1,44 @@
from django.db import models
from django.contrib.auth.models import User
import os
from tinymce import models as tinymce_models
from model_utils import Choices
from inventarioalmacen.models import *
# Create your models here.
class invequipo(models.Model):
STATUS1 = Choices('Dañado', 'Marginal', 'Funcional')
STATUS2 = Choices('SI', 'NO')
STATUS3 = Choices('SI', 'NO')
estado_funcional = models.CharField(choices=STATUS1, default=STATUS1.Funcional, max_length=20, verbose_name='Estatus')
n_control = models.IntegerField(unique=True, null=False, verbose_name='No Control')
equipo = models.ForeignKey(equipo, on_delete=models.CASCADE, null=False, blank=False, verbose_name='Equipo')
area = models.ForeignKey(area, on_delete=models.CASCADE, null=False, blank=False, verbose_name='Area')
descripcion = tinymce_models.HTMLField(null=False, verbose_name='Descripción')
marca = models.ForeignKey(marca, on_delete=models.CASCADE, null=False, blank=False, verbose_name='Marca')
modelo = models.CharField(max_length=250, null=True, blank=True, verbose_name='Modelo')
n_serie = models.CharField(max_length=250, unique=True, null=False, verbose_name='No Serie')
accesorios = tinymce_models.HTMLField( null=True, blank=True, verbose_name='Accesorios')
obsoleto = models.CharField(choices=STATUS2, default=STATUS2.NO, max_length=20, verbose_name='Obsoleto')
inventariado = models.CharField(max_length=250, null=True, blank=True, verbose_name='Inventariado')
n_act_fijo = models.CharField(max_length=250, null=True, blank=True, verbose_name='Numero Activo Fijo')
provedor = models.CharField(max_length=250, null=True, blank=True, verbose_name='Provedor')
c_basico = models.CharField(max_length=250, null=True, blank=True, verbose_name='Clave de cuadro basico')
fecha_alta = models.DateField(auto_now_add=True, verbose_name='Fecha alta')
fecha_actualizacion = models.DateField(auto_now=True, verbose_name='Fecha de Actualización')
localizado = models.CharField(choices=STATUS3, default=STATUS3.SI, max_length=20, verbose_name='Localizado')
accesorios2 = tinymce_models.HTMLField(null=True, blank=True, verbose_name='Accesorios 2')
accesorios3 = tinymce_models.HTMLField(null=True, blank=True, verbose_name='Accesorios 3')
accesorios4 = tinymce_models.HTMLField(null=True, blank=True, verbose_name='Accesorios 4')
accesorios5 = tinymce_models.HTMLField(null=True, blank=True, verbose_name='Accesorios 5')
fecha_inst = models.DateField(default='2022-12-31', null=True, blank=True, verbose_name='Fecha Instalacion')
def __str__(self):
return self.n_control
class Meta:
verbose_name = 'Equipo'
verbose_name_plural = 'Equipos'
ordering = ['n_control']

3
inventario/tests.py Normal file
View File

@@ -0,0 +1,3 @@
from django.test import TestCase
# Create your tests here.

58
inventario/views.py Normal file
View File

@@ -0,0 +1,58 @@
from django.shortcuts import render, redirect, get_object_or_404
from .forms import Formularioinvequipo
from django.contrib import messages
from django.contrib.auth.decorators import login_required
from django.http.response import HttpResponse
from .models import invequipo
from datetime import date
# Create your views here.
def inv_equipo(request):
datos = invequipo.objects.all()
return render(request, 'invequipo.html', {"datos": datos})
def ConsultaEquipo(request):
if request.method == "POST":
equipo = request.POST.get("n_control2")
datos = invequipo.objects.filter(id=equipo)
return render(request, 'invequipo.html', {"datos": datos})
@login_required(login_url='/acceder')
def crear_invequipo(request):
if request.method == "POST":
form = Formularioinvequipo(request.POST)
if form.is_valid():
post = form.save(commit=False)
post.save()
titulo = form.cleaned_data.get("n_control")
messages.success(request, f"El equipo {titulo} se ha creado correctamente")
return redirect("inv_equipo")
else:
for field, items in form.errors.items():
for item in items:
messages.error(request, '{}: {}'.format(field, item))
form = Formularioinvequipo()
return render(request, "crear_invequipo.html", {"form": form})
@login_required(login_url='/acceder')
def Actualizarinvequipo(request, equipo_id):
instance= get_object_or_404(invequipo, pk=equipo_id)
form = Formularioinvequipo(request.POST or None, instance=instance)
context= {'form': form}
if form.is_valid():
obj= form.save(commit= False)
obj.save()
refex = form.cleaned_data.get("equipo_id")
dateact = date.today()
update = invequipo.objects.values('fecha_actualizacion').filter(id=refex).update(fecha_actualizacion=dateact)
messages.success(request, "El equipo fue actualizado")
return redirect("inv_equipo")
else:
context= {'form': form, 'error': 'Error al actualizar'}
return render(request,'actualizar_equipo.html' , context)