Import Timbres Admin Class
This commit is contained in:
3
.gitignore
vendored
3
.gitignore
vendored
@@ -7,7 +7,8 @@ db.sqlite3
|
|||||||
media
|
media
|
||||||
|
|
||||||
# Backup files #
|
# Backup files #
|
||||||
*.bak
|
*.bak
|
||||||
|
*.sql
|
||||||
|
|
||||||
# If you are using PyCharm #
|
# If you are using PyCharm #
|
||||||
# User-specific stuff
|
# User-specific stuff
|
||||||
|
|||||||
@@ -35,6 +35,7 @@ INSTALLED_APPS = [
|
|||||||
'allauth.socialaccount',
|
'allauth.socialaccount',
|
||||||
|
|
||||||
'widget_tweaks',
|
'widget_tweaks',
|
||||||
|
'import_export',
|
||||||
|
|
||||||
'Clientes',
|
'Clientes',
|
||||||
'IMMEX',
|
'IMMEX',
|
||||||
|
|||||||
@@ -35,6 +35,7 @@ INSTALLED_APPS = [
|
|||||||
'allauth.socialaccount',
|
'allauth.socialaccount',
|
||||||
|
|
||||||
'widget_tweaks',
|
'widget_tweaks',
|
||||||
|
'import_export',
|
||||||
|
|
||||||
'Clientes',
|
'Clientes',
|
||||||
'IMMEX',
|
'IMMEX',
|
||||||
|
|||||||
@@ -1,18 +1,53 @@
|
|||||||
from django.contrib import admin
|
from django.contrib import admin
|
||||||
from .models import Timbres, saldoModel, Clientes,ErroresTimbres
|
from .models import Timbres, saldoModel, Clientes,ErroresTimbres
|
||||||
|
from import_export import resources,fields
|
||||||
|
from import_export.admin import ImportMixin
|
||||||
|
from datetime import datetime
|
||||||
|
|
||||||
|
from import_export import resources, fields
|
||||||
|
from datetime import datetime
|
||||||
|
from django.core.exceptions import ValidationError
|
||||||
|
|
||||||
|
class TimbresCSV(resources.ModelResource):
|
||||||
|
created_at = fields.Field(column_name='created_at', attribute='created_at')
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
model = Timbres
|
||||||
|
fields = ['uuid', 'rfcc', 'rfcp', 'fecha', 'folio', 'serie', 'tipo', 'created_at', 'modo']
|
||||||
|
import_id_fields = ('uuid',)
|
||||||
|
use_bulk = True
|
||||||
|
|
||||||
|
def clean_created_at(self, value):
|
||||||
|
try:
|
||||||
|
# Convertir el valor de 'created_at' a un objeto datetime
|
||||||
|
return datetime.strptime(value, '%Y-%m-%d %H:%M:%S')
|
||||||
|
except ValueError:
|
||||||
|
raise ValidationError("Formato de fecha incorrecto")
|
||||||
|
def save_instance(self, instance, is_create, using_transactions=True, dry_run=False):
|
||||||
|
created_at = instance.created_at
|
||||||
|
# super().after_save_instance(instance, using_transactions, dry_run)
|
||||||
|
# self.before_save_instance(instance, using_transactions, dry_run)
|
||||||
|
if is_create:
|
||||||
|
instance.save()
|
||||||
|
instance.created_at =created_at
|
||||||
|
instance.save()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class TimbresAdmin(admin.ModelAdmin):
|
@admin.register(Timbres)
|
||||||
list_display=['uuid','rfcc','rfcp','fecha','folio','serie','tipo','modo','created_at']
|
class TimbresAdmin(ImportMixin, admin.ModelAdmin):
|
||||||
|
list_display=['uuid', 'rfcc', 'rfcp', 'fecha', 'folio', 'serie', 'tipo', 'modo', 'created_at']
|
||||||
|
resource_class = TimbresCSV
|
||||||
list_filter=['modo','tipo']
|
list_filter=['modo','tipo']
|
||||||
search_fields =('uuid',)
|
search_fields = ('uuid',)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class ClientesAdmin(admin.ModelAdmin):
|
class ClientesAdmin(admin.ModelAdmin):
|
||||||
list_display= ['RFC','Nombre','Activo','fecha_baja']
|
list_display= ['RFC','Nombre','Activo','fecha_baja']
|
||||||
list_filter =['RFC','Activo']
|
list_filter =['RFC','Activo']
|
||||||
|
|
||||||
admin.site.register(Timbres,TimbresAdmin)
|
#admin.site.register(Timbres,TimbresAdmin)
|
||||||
admin.site.register(saldoModel)
|
admin.site.register(saldoModel)
|
||||||
admin.site.register(Clientes,ClientesAdmin)
|
admin.site.register(Clientes,ClientesAdmin)
|
||||||
admin.site.register(ErroresTimbres)
|
admin.site.register(ErroresTimbres)
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ class Timbres(models.Model):
|
|||||||
modo = models.CharField(max_length=10,blank=True, null =True)
|
modo = models.CharField(max_length=10,blank=True, null =True)
|
||||||
class Meta:
|
class Meta:
|
||||||
ordering = ('-created_at',)
|
ordering = ('-created_at',)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class ErroresTimbres(models.Model):
|
class ErroresTimbres(models.Model):
|
||||||
|
|||||||
@@ -127,7 +127,7 @@ class RegistroUsuarios(APIView):
|
|||||||
return Response({'access':True, 'message': f'Registro exitoso, te enviamos un correo electronico "{user.email}" favor confirme su correo. '})
|
return Response({'access':True, 'message': f'Registro exitoso, te enviamos un correo electronico "{user.email}" favor confirme su correo. '})
|
||||||
else:
|
else:
|
||||||
|
|
||||||
return Response({'access':False, 'message': 'Error de validación', 'errors': serializer.errors})
|
return Response({'access':False, 'message': 'Error de validación', 'Error': serializer.errors})
|
||||||
except Exception as E:
|
except Exception as E:
|
||||||
|
|
||||||
return Response({'Error':f'Error al registro con datos del usuario {E}', 'isError':True, 'access':False})
|
return Response({'Error':f'Error al registro con datos del usuario {E}', 'isError':True, 'access':False})
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
from django.contrib import admin
|
from django.contrib import admin
|
||||||
from .models import Sistema, sistemas_por_cliente, Device,DeviceHistory, BitacoraErrores
|
from .models import Sistema, sistemas_por_cliente, Device,DeviceHistory, BitacoraErrores
|
||||||
|
|
||||||
class BitacoraErroresAdmin(admin.ModelAdmin):
|
class BitacoraErroresAdmin(admin.ModelAdmin):
|
||||||
list_display = ['level', 'message','timestamp']
|
list_display = ['level', 'message','timestamp']
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user