• This project
    • Loading...
  • Sign in

Marta Miranda / boletin_api

Logo codes
Go to a project
Toggle navigation
  • Projects
  • Groups
  • Snippets
  • Help
Toggle navigation pinning
  • Project
  • Activity
  • Repository
  • Pipelines
  • Graphs
  • Issues 0
  • Merge Requests 0
  • Wiki
  • Network
  • Create a new issue
  • Builds
  • Commits
Closed
Merge Request !34 opened 2023-09-08 10:45:39 UTC by Enzo Yair@Ecardenez

Feature/#48 crear dos enpoints para comprobantepago

Edited 2023-09-08 14:39:37 UTC
Request to merge feature/#48_crear_dos_enpoints_para_comprobantepago into develop
×

Check out, review, and merge locally

Step 1. Fetch and check out the branch for this merge request

git fetch origin
git checkout -b feature/#48_crear_dos_enpoints_para_comprobantepago origin/feature/#48_crear_dos_enpoints_para_comprobantepago

Step 2. Review the changes locally

Step 3. Merge the branch and fix any conflicts that come up

git checkout develop
git merge --no-ff feature/#48_crear_dos_enpoints_para_comprobantepago

Step 4. Push the result of the merge to GitLab

git push origin develop

Note that pushing to GitLab requires write access to this repository.

Tip: You can also checkout merge requests locally by following these guidelines

Closed by Enzo Yair 2023-09-08 14:39:37 UTC

The changes were not merged into develop.

  • Discussion 7
  • Commits 5
  • Changes 12
  • Avatar
    Martín Miranda
    @debianitram started a discussion on an outdated diff 2023-09-08 12:30:16 UTC
    Toggle discussion
    project/apps/edicto/api.py
    class PagoViewSets(mixins.CreateModelMixin,
    mixins.RetrieveModelMixin,
    mixins.UpdateModelMixin,
    mixins.DestroyModelMixin,
    mixins.ListModelMixin,
    viewsets.GenericViewSet):
    serializer_class = PagoSerializer
    permission_classes = [IsAuthenticated, IsAdminOrAuthorized]
    queryset = ComprobantePago.objects.all()
    def perform_create(self, serializer):
    try:
    edicto = Edicto.objects.get(estado='aprobado')
    precio_admi = Precio.objects.latest('id')
    • Martín Miranda
      @debianitram commented 2023-09-08 12:30:16 UTC
      Developer

      precio_admin y precio es exactamente lo mismo, por que haces esto?

    • Enzo Yair
      @Ecardenez commented 2023-09-08 12:40:37 UTC
      Master

      almaceno en la variable el ultimo objeto creado por el admin para pasarlo a la funcion "calculadora" donde realiza un nuevo calculo y almacenar su valor en el elemento monto

  • Avatar
    Martín Miranda
    @debianitram started a discussion on an outdated diff 2023-09-08 12:30:51 UTC
    Toggle discussion
    project/apps/edicto/api.py
    mixins.UpdateModelMixin,
    mixins.DestroyModelMixin,
    mixins.ListModelMixin,
    viewsets.GenericViewSet):
    serializer_class = PagoSerializer
    permission_classes = [IsAuthenticated, IsAdminOrAuthorized]
    queryset = ComprobantePago.objects.all()
    def perform_create(self, serializer):
    try:
    edicto = Edicto.objects.get(estado='aprobado')
    precio_admi = Precio.objects.latest('id')
    precio = Precio.objects.get(id=precio_admi.id)
    monto = calculadora(edicto, precio)
    usuario_actual = self.request.user
    if edicto.usuario != usuario_actual:
    • Martín Miranda
      @debianitram commented 2023-09-08 12:30:51 UTC
      Developer

      aquí ve a comprar directamente: edicto.usuario != self.request.user

  • Enzo Yair
    @Ecardenez 2023-09-08 12:53:06 UTC

    Added 1 commit:

    • 8762df5c - correcciones de errores en perfom_create
  • Avatar
    Martín Miranda
    @debianitram started a discussion on an outdated diff 2023-09-08 13:58:11 UTC
    Toggle discussion
    project/apps/edicto/admin.py
    from django.contrib import admin
    from django.core.exceptions import ValidationError
    from django.utils import timezone
     
    from .models import Edicto, Precio
     
    # Register your models here.
     
    admin.site.register(Precio)
    class PrecioAdmin(admin.ModelAdmin):
    def save_model(self, request, obj, form, change):
    precios_activos = Precio.objects.filter(vigencia_hasta__gte=timezone.now().date())
    if not change:
    today = timezone.now().date()
    if obj.vigencia_desde <= today:
    • Martín Miranda
      @debianitram commented 2023-09-08 13:58:11 UTC
      Developer

      Por favor, unificar la condición: obj.vigencia_desde <= today and not precios_activos.exists():

  • Avatar
    Martín Miranda
    @debianitram started a discussion on an outdated diff 2023-09-08 13:58:45 UTC
    Toggle discussion
    project/apps/edicto/api.py
    ordering_fields = ('usuario', )
    ordering = 'usuario'
    queryset = Precio.objects.all()
    class PagoViewSets(mixins.CreateModelMixin,
    • Martín Miranda
      @debianitram commented 2023-09-08 13:58:45 UTC
      Developer

      Aquí puedes directamente utilizar viewsets.ModelViewSet

  • Avatar
    Martín Miranda
    @debianitram started a discussion on the diff 2023-09-08 13:59:03 UTC
    Toggle discussion
    project/apps/edicto/api.py
    try:
    edicto = Edicto.objects.get(estado='pendiente_de_pago')
    precio = Precio.objects.latest('id')
    monto = calculadora(edicto, precio)
    if edicto.usuario != self.request.user:
    raise UsuarioNoAutorizado
    serializer.validated_data['monto'] = monto
    serializer.validated_data['edicto'] = edicto
    serializer.save()
    except Edicto.DoesNotExist:
    raise EdictoNoEncontrado
    except Precio.DoesNotExist:
    raise PrecioNoEncontrado
    class ComprobanteViewSets(mixins.CreateModelMixin,
    • Martín Miranda
      @debianitram commented 2023-09-08 13:59:03 UTC
      Developer

      Identico a al comentario anterior

  • Avatar
    Martín Miranda
    @debianitram started a discussion on an outdated diff 2023-09-08 14:01:31 UTC
    Toggle discussion
    project/apps/edicto/models.py
    verbose_name_plural = 'Edictos'
     
    def __str__(self):
    return self.cuerpo_edicto
    return f"{self.cuerpo_edicto} Edicto"
    • Martín Miranda
      @debianitram commented 2023-09-08 14:01:31 UTC
      Developer

      Por favor utiliza otra forma de representar, cuerpo_edicto podría ser una "sin fin" de caracteres y no tiene demasiado sentido.

  • Enzo Yair
    @Ecardenez 2023-09-08 14:34:55 UTC

    Added 1 commit:

    • 4fd465cb - correcion de api, models, y admin
  • Enzo Yair
    @Ecardenez 2023-09-08 14:39:37 UTC

    Status changed to closed

  • Please register or login to post a comment
Enzo Yair
Assignee
Enzo Yair @Ecardenez
Assign to
None
Milestone
None
Assign milestone
1
1 participant
Reference: mvmiranda/boletin_api!34