web/views/actions.py
branch3.5
changeset 3228 7b05b2709439
parent 3219 be8cfc00ae04
child 3230 1d25e928c299
child 3271 6c8504b2ade0
equal deleted inserted replaced
3227:f1695b2da6c3 3228:7b05b2709439
   236 
   236 
   237     def fill_menu(self, box, menu):
   237     def fill_menu(self, box, menu):
   238         # when there is only one item in the sub-menu, replace the sub-menu by
   238         # when there is only one item in the sub-menu, replace the sub-menu by
   239         # item's title prefixed by 'add'
   239         # item's title prefixed by 'add'
   240         menu.label_prefix = self.req._('add')
   240         menu.label_prefix = self.req._('add')
       
   241         super(AddRelatedActions, self).fill_menu(box, menu)
       
   242 
       
   243     def actual_actions(self):
   241         entity = self.rset.get_entity(self.row or 0, self.col or 0)
   244         entity = self.rset.get_entity(self.row or 0, self.col or 0)
   242         user = self.req.user
       
   243         actions = []
       
   244         _ = self.req._
       
   245         eschema = entity.e_schema
   245         eschema = entity.e_schema
   246         for rschema, teschema, x in self.add_related_schemas(entity):
   246         for rschema, teschema, x in self.add_related_schemas(entity):
   247             if x == 'subject':
   247             if x == 'subject':
   248                 label = 'add %s %s %s %s' % (eschema, rschema, teschema, x)
   248                 label = 'add %s %s %s %s' % (eschema, rschema, teschema, x)
   249                 url = self.linkto_url(entity, rschema, teschema, 'object')
   249                 url = self.linkto_url(entity, rschema, teschema, 'object')
   250             else:
   250             else:
   251                 label = 'add %s %s %s %s' % (teschema, rschema, eschema, x)
   251                 label = 'add %s %s %s %s' % (teschema, rschema, eschema, x)
   252                 url = self.linkto_url(entity, rschema, teschema, 'subject')
   252                 url = self.linkto_url(entity, rschema, teschema, 'subject')
   253             menu.append(box.mk_action(_(label), url))
   253             yield self.build_action(self.req._(label), url)
   254 
   254 
   255     def add_related_schemas(self, entity):
   255     def add_related_schemas(self, entity):
   256         """this is actually used ui method to generate 'addrelated' actions from
   256         """this is actually used ui method to generate 'addrelated' actions from
   257         the schema.
   257         the schema.
   258 
   258