Guest User

Untitled

a guest
Jun 20th, 2017
140
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.79 KB | None | 0 0
  1. # This file is part of Tryton.  The COPYRIGHT file at the top level of
  2. # this repository contains the full copyright notices and license terms.
  3.  
  4. from trytond.pool import Pool, PoolMeta
  5. from trytond.pyson import Eval
  6. from trytond.model import ModelView, fields, ModelSQL, ModelSingleton
  7.  
  8. __all__ = ['Configuration', 'PrinterModel']
  9.  
  10.  
  11. class Configuration(ModelSingleton, ModelSQL, ModelView):
  12.     'Printer Configuration'
  13.     __name__ = 'printer.configuration'
  14.  
  15.     toner_category = fields.Property(fields.Many2One('product.category',
  16.         'Toner Category', ondelete='CASCADE', required=True, select=True))
  17.     printer_category = fields.Property(fields.Many2One('product.category',
  18.         'Printer Category', ondelete='CASCADE', required=True, select=True))
  19.  
  20. class PrinterModel(ModelSQL, ModelView):
  21.     "Printer Model"
  22.     __name__ = 'printer.printer_model'
  23.  
  24.     printer_model = fields.Many2One('product.product', 'Printer',
  25.         required=True,
  26.         domain=[('categories', 'child_of', [Eval('printer_category')],'parent')])
  27.     toners = fields.Many2Many('printer.printer_model-printer.toner',
  28.         'printer_model', 'toner', 'Toners')
  29.     printer_category = fields.Function(
  30.         fields.Many2One('product.category',
  31.             'Printer Category'), 'get_printer_category')
  32.  
  33.     def get_printer_category(self, name):
  34.         pool = Pool()
  35.         PrinterConfiguration = pool.get('printer.configuration')
  36.         printer_configuration = PrinterConfiguration(1)
  37.         return printer_configuration.printer_category.id
  38.  
  39.     @staticmethod
  40.     def default_printer_category():
  41.         pool = Pool()
  42.         PrinterConfiguration = pool.get('printer.configuration')
  43.         printer_configuration = PrinterConfiguration(1)
  44.         return printer_configuration.printer_category.id
Advertisement
Add Comment
Please, Sign In to add comment