web/views/editforms.py
branchtls-sprint
changeset 1151 b20677336ee6
parent 1147 402e8a8b1d6a
child 1154 9b23a6836c32
equal deleted inserted replaced
1150:2d1b721fded9 1151:b20677336ee6
   152     rcategories = RelationTags()
   152     rcategories = RelationTags()
   153     # use primary and not generated for eid since it has to be an hidden
   153     # use primary and not generated for eid since it has to be an hidden
   154     rcategories.set_rtag('primary', 'subject', 'eid')
   154     rcategories.set_rtag('primary', 'subject', 'eid')
   155     rcategories.set_rtag('metadata', 'subject', 'creation_date')
   155     rcategories.set_rtag('metadata', 'subject', 'creation_date')
   156     rcategories.set_rtag('metadata', 'subject', 'modification_date')
   156     rcategories.set_rtag('metadata', 'subject', 'modification_date')
   157     rcategories.set_rtag('generated', 'subject', 'has_text')        
   157     rcategories.set_rtag('generated', 'subject', 'has_text')
       
   158     rcategories.set_rtag('metadata', 'owned_by', 'subject')
       
   159     rcategories.set_rtag('metadata', 'created_by', 'subject')
       
   160     rcategories.set_rtag('generated', 'is', 'subject')
       
   161     rcategories.set_rtag('generated', 'is', 'object')
       
   162     rcategories.set_rtag('generated', 'is_instance_of', 'subject')
       
   163     rcategories.set_rtag('generated', 'is_instance_of', 'object')
       
   164     rcategories.set_rtag('generated', 'identity', 'subject')
       
   165     rcategories.set_rtag('generated', 'identity', 'object')
       
   166     rcategories.set_rtag('generated', 'require_permission', 'subject')
       
   167     rcategories.set_rtag('primary', 'in_state', 'subject')
       
   168     rcategories.set_rtag('generated', 'wf_info_for', 'subject')
       
   169     rcategories.set_rtag('generated', 'wf_info_for', 'subject')
       
   170     rcategories.set_rtag('secondary', 'description', 'subject')
   158 
   171 
   159     # relations'widget (eg one of available class name in cubicweb.web.formwidgets)
   172     # relations'widget (eg one of available class name in cubicweb.web.formwidgets)
   160     rwidgets = RelationTags()
   173     rwidgets = RelationTags()
   161     # inlined view flag for non final relations
   174     # inlined view flag for non final relations
   162     inlined = RelationTags()
   175     rinlined = RelationTags()
   163     # set of tags of the form <action>_on_new on relations. <action> is a
   176     # set of tags of the form <action>_on_new on relations. <action> is a
   164     # schema action (add/update/delete/read), and when such a tag is found
   177     # schema action (add/update/delete/read), and when such a tag is found
   165     # permissions checking is by-passed and supposed to be ok
   178     # permissions checking is by-passed and supposed to be ok
   166     rpermissions_overrides = RelationTags(use_set=True)
   179     rpermissions_overrides = RelationTags(use_set=True)
   167 
   180 
   323           - status 'pendingdelete' or ''
   336           - status 'pendingdelete' or ''
   324           - oneline view of related entity
   337           - oneline view of related entity
   325         """
   338         """
   326         entity = self.edited_entity
   339         entity = self.edited_entity
   327         pending_deletes = self.req.get_pending_deletes(entity.eid)
   340         pending_deletes = self.req.get_pending_deletes(entity.eid)
   328         # XXX add metadata category quick fix to get Folder relations
   341         for label, rschema, role in self.srelations_by_category('generic'), 'add'):
   329         for label, rschema, role in self.srelations_by_category(('generic', 'metadata'), 'add'):
       
   330             relatedrset = entity.related(rschema, role, limit=self.limit)
   342             relatedrset = entity.related(rschema, role, limit=self.limit)
   331             if rschema.has_perm(self.req, 'delete'):
   343             if rschema.has_perm(self.req, 'delete'):
   332                 toggable_rel_link_func = toggable_relation_link
   344                 toggable_rel_link_func = toggable_relation_link
   333             else:
   345             else:
   334                 toggable_rel_link_func = lambda x, y, z: u''
   346                 toggable_rel_link_func = lambda x, y, z: u''
   375     
   387     
   376     def should_inline_relation_form(self, rschema, targettype, role):
   388     def should_inline_relation_form(self, rschema, targettype, role):
   377         """return true if the given relation with entity has role and a
   389         """return true if the given relation with entity has role and a
   378         targettype target should be inlined
   390         targettype target should be inlined
   379         """
   391         """
   380         return self.inlined.etype_rtag(self.edited_entity.id, role, rschema, targettype)
   392         return self.rinlined.etype_rtag(self.edited_entity.id, role, rschema, targettype)
   381 
   393 
   382     def should_display_inline_creation_form(self, rschema, existant, card):
   394     def should_display_inline_creation_form(self, rschema, existant, card):
   383         """return true if a creation form should be inlined
   395         """return true if a creation form should be inlined
   384 
   396 
   385         by default true if there is no related entity and we need at least one
   397         by default true if there is no related entity and we need at least one