Guest User

Untitled

a guest
Aug 21st, 2018
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.38 KB | None | 0 0
  1. class Sesion(Workflow, ModelSQL, ModelView):
  2.     "Sesion"
  3.     _name = 'academia.sesion'
  4.    
  5.     def __init__(self):
  6.         super(Sesion, self).__init__()
  7.        
  8.         self._error_messages.update({
  9.             'sold_out': 'You have no seets availables !',
  10.             })
  11.            
  12.         self._transitions |= set((
  13.             ('draft', 'confirmed'),
  14.             ('confirmed', 'done'),
  15.             ('done', 'cancel'),
  16.            
  17.             ))
  18.         self._buttons.update({
  19.             #'confirm': {
  20.                 #'invisible': ~Eval('state').in_(['confirmed', 'done','cancel']),
  21.                 #},
  22.             'done': {
  23.                 'invisible': ~Eval('state').in_(['draft', 'cancel']),
  24.                 'icon': If(Eval('state') == 'cancel', 'tryton-clear',
  25.                 'tryton-go-previous'),
  26.                     },
  27.             'cancel': {
  28.                 'invisible': Eval('state') != 'done',
  29.                 }  })
  30.                    
  31.     def on_change_alumnos(self,vals):
  32.         res = {}
  33.         alumnos = vals.get('alumnos')
  34.         num_of_seats = vals.get('num_of_seats')
  35.         print "Alumnos", alumnos
  36.         if alumnos and len(alumnos)>num_of_seats:
  37.             self.raise_user_error('sold_out')
  38.  
  39.         print "INGRESO A ONCHANGE",vals
  40.         res['num_of_seats'] = num_of_seats
  41.         return res
  42.        
  43.        
  44.                    
  45.     name = fields.Char('Name')
  46.     start_date = fields.Date('Start Date')
  47.     duration = fields.Float('Duration')
  48.     num_of_seats = fields.Integer('Number of Seats')
  49.     course = fields.Many2One('academia.curso', 'Course')
  50.     instructor = fields.Many2One('party.party', 'Instructor', domain=[('instructor', '=', True)])
  51.     alumnos = fields.One2Many('academia.alumno', 'session', 'Alumnos', on_change=['alumnos','num_of_seats'])
  52.     state = fields.Selection([
  53.         ('draft', 'Draft'),
  54.         ('confirmed', 'Confirmed'),
  55.         ('done', 'Done'),
  56.         ('cancel', 'Canceled'),
  57.         ], 'State', readonly=True)
  58.    
  59.  
  60.     def default_state(self):
  61.         return 'draft'    
  62.  
  63.     #@ModelView.button
  64.     #@Workflow.transition('draft')
  65.     #def confirm(self, ids):
  66.         #print "INGRESO A FUNCIoN CONFIRM"
  67.         #pass
  68.    
  69.    
  70.     @ModelView.button
  71.     @Workflow.transition('confirmed')
  72.     def confirmed(self, ids):
  73.         print "INGRESO A FUNCIoN CONFIRM"
  74.         pass
  75.  
  76.  
  77. Sesion()
Add Comment
Please, Sign In to add comment