Modificar botones de acciones en sale subscription. #37

Closed
opened 2022-07-07 12:00:22 -05:00 by Rodia · 5 comments
Owner
  • Unificar botones Create Line Consumptions y Create Subscription Invoices para que se creen la líneas de consumo y su respectiva factura en una sola acción.

  • Cambiar la logíca de estos botones para que se apliquen a una sola subscripción y no en general.

- [x] Unificar botones `Create Line Consumptions` y `Create Subscription Invoices` para que se creen la líneas de consumo y su respectiva factura en una sola acción. - [x] Cambiar la logíca de estos botones para que se apliquen a una sola subscripción y no en general.
Rodia changed title from Modificar botones en sale subscription. to Modificar botones de acciones en sale subscription. 2022-07-07 12:04:17 -05:00
Author
Owner

Realizando el análisis para cambiar esta lógica se deben Unificar:

class CreateLineConsumption(Wizard):
    "Create Subscription Line Consumption"
    __name__ = 'sale.subscription.line.consumption.create'
    
    start = StateView(
        'sale.subscription.line.consumption.create.start',
        'sale_subscription.line_consumption_create_start_view_form', [
            Button("Cancel", 'end', 'tryton-cancel'),
            Button("Create", 'create_', 'tryton-ok', default=True),

            ])

    create_ = StateAction(
        'sale_subscription.act_subscription_line_consumption_form')


    def do_create_(self, action):
        pool = Pool()
        Line = pool.get('sale.subscription.line')
        Line.generate_consumption(date=self.start.date)

        return action, {}


    def transition_create_(self):

        return 'end'



class CreateLineConsumptionStart(ModelView):
    "Create Subscription Line Consumption"
    __name__ = 'sale.subscription.line.consumption.create.start'
    date = fields.Date("Date")

    @classmethod
    def default_date(cls):
        pool = Pool()
        Date = pool.get('ir.date')
        
        return Date.today()



class CreateSubscriptionInvoice(Wizard):
    "Create Subscription Invoice"
    __name__ = 'sale.subscription.create_invoice'
    start = StateView(
        'sale.subscription.create_invoice.start',
        'sale_subscription.create_invoice_start_view_form', [
            Button("Cancel", 'end', 'tryton-cancel'),
            Button("Create", 'create_', 'tryton-ok', default=True),
            ])

    create_ = StateTransition()

    def transition_create_(self):
        pool = Pool()
        Subscription = pool.get('sale.subscription')
        Subscription.generate_invoice(date=self.start.date)
        
        return 'end'



class CreateSubscriptionInvoiceStart(ModelView):
    "Create Subscription Invoice"
    __name__ = 'sale.subscription.create_invoice.start'
    
    date = fields.Date("Date")

    @classmethod
    def default_date(cls):
        pool = Pool()
        Date = pool.get('ir.date')
        return Date.today()
Realizando el análisis para cambiar esta lógica se deben Unificar: ``` class CreateLineConsumption(Wizard): "Create Subscription Line Consumption" __name__ = 'sale.subscription.line.consumption.create' start = StateView( 'sale.subscription.line.consumption.create.start', 'sale_subscription.line_consumption_create_start_view_form', [ Button("Cancel", 'end', 'tryton-cancel'), Button("Create", 'create_', 'tryton-ok', default=True), ]) create_ = StateAction( 'sale_subscription.act_subscription_line_consumption_form') def do_create_(self, action): pool = Pool() Line = pool.get('sale.subscription.line') Line.generate_consumption(date=self.start.date) return action, {} def transition_create_(self): return 'end' class CreateLineConsumptionStart(ModelView): "Create Subscription Line Consumption" __name__ = 'sale.subscription.line.consumption.create.start' date = fields.Date("Date") @classmethod def default_date(cls): pool = Pool() Date = pool.get('ir.date') return Date.today() class CreateSubscriptionInvoice(Wizard): "Create Subscription Invoice" __name__ = 'sale.subscription.create_invoice' start = StateView( 'sale.subscription.create_invoice.start', 'sale_subscription.create_invoice_start_view_form', [ Button("Cancel", 'end', 'tryton-cancel'), Button("Create", 'create_', 'tryton-ok', default=True), ]) create_ = StateTransition() def transition_create_(self): pool = Pool() Subscription = pool.get('sale.subscription') Subscription.generate_invoice(date=self.start.date) return 'end' class CreateSubscriptionInvoiceStart(ModelView): "Create Subscription Invoice" __name__ = 'sale.subscription.create_invoice.start' date = fields.Date("Date") @classmethod def default_date(cls): pool = Pool() Date = pool.get('ir.date') return Date.today() ```
Author
Owner
  • Unificar botones Create Line Consumptions y Create Subscription Invoices para que se creen la líneas de consumo y su respectiva factura en una sola acción.

  • Cambiar la logíca de estos botones para que se apliquen a una sola subscripción y no en general.

El concepto que se tiene de este contrato es generar una factura por el contrato de los equipos que se están contratando esto será un pago anticipado del mantenimiento. es por esto que se no se tendrán encuenta las líneas de consumo, se genera una factura, la factura tendrá producto, cantidad precio unitario. Adicionalmente se generarán mantenimientos en el futuro con las siguiente regla.

un contrato puede tener una concurrencia, 1 año, 6 meses etc...

en caso de que la cantidad especificada en la línea se 2 y la concurrencia un año se programarán dos mantenimiento cada seis meses. En caso de ser 3 y una concurrencia de un año se generarán 3 mantenimientos con una períodicidad de 4 meses. con esto se debe tener encuenta los intervalos de tiempo que quizás no sean logícos.

Ejemplo: Mensual --> 3 Mantenimientos. En esta cirscuntancia se opta por desahibilitar campos de las concurrencias y limitar al usuario para que no vea esto en las posibilidades, ya que estó sería el modúlo de subscripciones sin ningún tipo de modificación.

> > - [ ] Unificar botones `Create Line Consumptions` y `Create Subscription Invoices` para que se creen la líneas de consumo y su respectiva factura en una sola acción. > > - [ ] Cambiar la logíca de estos botones para que se apliquen a una sola subscripción y no en general. El concepto que se tiene de este contrato es generar una factura por el contrato de los equipos que se están contratando esto será un pago anticipado del mantenimiento. es por esto que se no se tendrán encuenta las líneas de consumo, se genera una factura, la factura tendrá producto, cantidad precio unitario. Adicionalmente se generarán mantenimientos en el futuro con las siguiente regla. un contrato puede tener una concurrencia, 1 año, 6 meses etc... en caso de que la cantidad especificada en la línea se 2 y la concurrencia un año se programarán dos mantenimiento cada seis meses. En caso de ser 3 y una concurrencia de un año se generarán 3 mantenimientos con una períodicidad de 4 meses. con esto se debe tener encuenta los intervalos de tiempo que quizás no sean logícos. Ejemplo: Mensual --> 3 Mantenimientos. En esta cirscuntancia se opta por desahibilitar campos de las concurrencias y limitar al usuario para que no vea esto en las posibilidades, ya que estó sería el modúlo de subscripciones sin ningún tipo de modificación.
Author
Owner

Se modela un wizzard que generé una factura a dicho contrato, https://gitea.onecluster.org/OneTeam/trytondo-optical_equipment/src/branch/6.2/subscription.py#L47

Actualmente se tiene la falencia en que se podrían generar muchas facturas al mismo contrato.

No se relaciona la factura Creada a las facturas dentro del contrato.

Se modela un wizzard que generé una factura a dicho contrato, https://gitea.onecluster.org/OneTeam/trytondo-optical_equipment/src/branch/6.2/subscription.py#L47 Actualmente se tiene la falencia en que se podrían generar muchas facturas al mismo contrato. No se relaciona la factura Creada a las facturas dentro del contrato.
Author
Owner
@alnus
Author
Owner

se cierra con #79

se cierra con https://gitea.onecluster.org/OneTeam/trytondo-optical_equipment/issues/79
Rodia closed this issue 2022-09-09 10:26:23 -05:00
Sign in to join this conversation.
No Label
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: OneTeam/trytondo-optical_equipment#37
No description provided.