# HG changeset patch # User Adrien Di Mascio # Date 1249239365 -7200 # Node ID 3753f3a07ca1796fea536b0fb1a2a2d972225c8d # Parent 3ad936634d2aa5aec4bc1e653dbddcd8f648ecd1 [refactoring] moved rtags specification in web/views diff -r 3ad936634d2a -r 3753f3a07ca1 web/uicfg.py --- a/web/uicfg.py Sun Aug 02 19:32:57 2009 +0200 +++ b/web/uicfg.py Sun Aug 02 20:56:05 2009 +0200 @@ -102,21 +102,6 @@ init_primaryview_section, frozenset(('attributes', 'relations', 'sideboxes', 'hidden'))) -for rtype in ('eid', 'creation_date', 'modification_date', 'cwuri', - 'is', 'is_instance_of', 'identity', - 'owned_by', 'created_by', - 'in_state', 'wf_info_for', 'require_permission', - 'from_entity', 'to_entity', - 'see_also'): - primaryview_section.tag_subject_of(('*', rtype, '*'), 'hidden') - primaryview_section.tag_object_of(('*', rtype, '*'), 'hidden') -primaryview_section.tag_subject_of(('*', 'use_email', '*'), 'attributes') -primaryview_section.tag_subject_of(('*', 'primary_email', '*'), 'hidden') - -for attr in ('name', 'final'): - primaryview_section.tag_attribute(('CWEType', attr), 'hidden') -for attr in ('name', 'final', 'symetric', 'inlined'): - primaryview_section.tag_attribute(('CWRType', attr), 'hidden') class DisplayCtrlRelationTags(RelationTagsDict): @@ -201,62 +186,17 @@ autoform_section = RelationTags('autoform_section', init_autoform_section, set(('primary', 'secondary', 'generic', 'metadata', 'generated'))) -# use primary and not generated for eid since it has to be an hidden -autoform_section.tag_attribute(('*', 'eid'), 'primary') -autoform_section.tag_attribute(('*', 'description'), 'secondary') -autoform_section.tag_attribute(('*', 'creation_date'), 'metadata') -autoform_section.tag_attribute(('*', 'modification_date'), 'metadata') -autoform_section.tag_attribute(('*', 'cwuri'), 'metadata') -autoform_section.tag_attribute(('*', 'has_text'), 'generated') -autoform_section.tag_subject_of(('*', 'in_state', '*'), 'primary') -autoform_section.tag_subject_of(('*', 'owned_by', '*'), 'metadata') -autoform_section.tag_subject_of(('*', 'created_by', '*'), 'metadata') -autoform_section.tag_subject_of(('*', 'is', '*'), 'generated') -autoform_section.tag_object_of(('*', 'is', '*'), 'generated') -autoform_section.tag_subject_of(('*', 'is_instance_of', '*'), 'generated') -autoform_section.tag_object_of(('*', 'is_instance_of', '*'), 'generated') -autoform_section.tag_subject_of(('*', 'identity', '*'), 'generated') -autoform_section.tag_object_of(('*', 'identity', '*'), 'generated') -autoform_section.tag_subject_of(('*', 'require_permission', '*'), 'generated') -autoform_section.tag_subject_of(('*', 'wf_info_for', '*'), 'generated') -autoform_section.tag_object_of(('*', 'wf_info_for', '*'), 'generated') -autoform_section.tag_subject_of(('*', 'for_user', '*'), 'generated') -autoform_section.tag_object_of(('*', 'for_user', '*'), 'generated') -autoform_section.tag_subject_of(('CWPermission', 'require_group', '*'), 'primary') -autoform_section.tag_attribute(('CWEType', 'final'), 'generated') -autoform_section.tag_attribute(('CWRType', 'final'), 'generated') -autoform_section.tag_attribute(('CWUser', 'firstname'), 'secondary') -autoform_section.tag_attribute(('CWUser', 'surname'), 'secondary') -autoform_section.tag_attribute(('CWUser', 'last_login_time'), 'metadata') -autoform_section.tag_subject_of(('CWUser', 'in_group', '*'), 'primary') -autoform_section.tag_object_of(('*', 'owned_by', 'CWUser'), 'generated') -autoform_section.tag_object_of(('*', 'created_by', 'CWUser'), 'generated') -autoform_section.tag_object_of(('*', 'bookmarked_by', 'CWUser'), 'metadata') -autoform_section.tag_attribute(('Bookmark', 'path'), 'primary') -autoform_section.tag_subject_of(('*', 'use_email', '*'), 'generated') # inlined actually -autoform_section.tag_subject_of(('*', 'primary_email', '*'), 'generic') - # relations'field class autoform_field = RelationTags('autoform_field') # relations'field explicit kwargs (given to field's __init__) autoform_field_kwargs = RelationTagsDict() -autoform_field_kwargs.tag_attribute(('RQLExpression', 'expression'), - {'widget': formwidgets.TextInput}) -autoform_field_kwargs.tag_attribute(('Bookmark', 'path'), - {'widget': formwidgets.TextInput}) - - # inlined view flag for non final relations: when True for an entry, the # entity(ies) at the other end of the relation will be editable from the # form of the edited entity autoform_is_inlined = RelationTagsBool('autoform_is_inlined') -autoform_is_inlined.tag_subject_of(('*', 'use_email', '*'), True) -autoform_is_inlined.tag_subject_of(('CWRelation', 'relation_type', '*'), True) -autoform_is_inlined.tag_subject_of(('CWRelation', 'from_entity', '*'), True) -autoform_is_inlined.tag_subject_of(('CWRelation', 'to_entity', '*'), True) # set of tags of the form _on_new on relations. is a @@ -277,28 +217,4 @@ actionbox_appearsin_addmenu = RelationTagsBool('actionbox_appearsin_addmenu', init_actionbox_appearsin_addmenu) -actionbox_appearsin_addmenu.tag_subject_of(('*', 'is', '*'), False) -actionbox_appearsin_addmenu.tag_object_of(('*', 'is', '*'), False) -actionbox_appearsin_addmenu.tag_subject_of(('*', 'is_instance_of', '*'), False) -actionbox_appearsin_addmenu.tag_object_of(('*', 'is_instance_of', '*'), False) -actionbox_appearsin_addmenu.tag_subject_of(('*', 'identity', '*'), False) -actionbox_appearsin_addmenu.tag_object_of(('*', 'identity', '*'), False) -actionbox_appearsin_addmenu.tag_subject_of(('*', 'owned_by', '*'), False) -actionbox_appearsin_addmenu.tag_subject_of(('*', 'created_by', '*'), False) -actionbox_appearsin_addmenu.tag_subject_of(('*', 'require_permission', '*'), False) -actionbox_appearsin_addmenu.tag_subject_of(('*', 'wf_info_for', '*'), False) -actionbox_appearsin_addmenu.tag_object_of(('*', 'wf_info_for', '*'), False) -actionbox_appearsin_addmenu.tag_object_of(('*', 'state_of', 'CWEType'), True) -actionbox_appearsin_addmenu.tag_object_of(('*', 'transition_of', 'CWEType'), True) -actionbox_appearsin_addmenu.tag_object_of(('*', 'relation_type', 'CWRType'), True) -actionbox_appearsin_addmenu.tag_object_of(('*', 'from_entity', 'CWEType'), False) -actionbox_appearsin_addmenu.tag_object_of(('*', 'to_entity', 'CWEType'), False) -actionbox_appearsin_addmenu.tag_object_of(('*', 'in_group', 'CWGroup'), True) -actionbox_appearsin_addmenu.tag_object_of(('*', 'owned_by', 'CWUser'), False) -actionbox_appearsin_addmenu.tag_object_of(('*', 'created_by', 'CWUser'), False) -actionbox_appearsin_addmenu.tag_object_of(('*', 'bookmarked_by', 'CWUser'), True) -actionbox_appearsin_addmenu.tag_subject_of(('Transition', 'destination_state', '*'), True) -actionbox_appearsin_addmenu.tag_object_of(('*', 'allowed_transition', 'Transition'), True) -actionbox_appearsin_addmenu.tag_object_of(('*', 'destination_state', 'State'), True) -actionbox_appearsin_addmenu.tag_subject_of(('State', 'allowed_transition', '*'), True) diff -r 3ad936634d2a -r 3753f3a07ca1 web/views/actions.py --- a/web/views/actions.py Sun Aug 02 19:32:57 2009 +0200 +++ b/web/views/actions.py Sun Aug 02 20:56:05 2009 +0200 @@ -15,6 +15,7 @@ authenticated_user, match_user_groups, match_search_state, has_permission, has_add_permission, ) +from cubicweb.web import uicfg from cubicweb.web.action import Action from cubicweb.web.views import linksearch_select_url, vid_from_rset from cubicweb.web.views.autoform import AutomaticEntityForm @@ -297,3 +298,30 @@ from cubicweb.web.views.bookmark import FollowAction FollowAction = class_moved(FollowAction) +## default actions ui configuration ########################################### + +addmenu = uicfg.actionbox_appearsin_addmenu +addmenu.tag_subject_of(('*', 'is', '*'), False) +addmenu.tag_object_of(('*', 'is', '*'), False) +addmenu.tag_subject_of(('*', 'is_instance_of', '*'), False) +addmenu.tag_object_of(('*', 'is_instance_of', '*'), False) +addmenu.tag_subject_of(('*', 'identity', '*'), False) +addmenu.tag_object_of(('*', 'identity', '*'), False) +addmenu.tag_subject_of(('*', 'owned_by', '*'), False) +addmenu.tag_subject_of(('*', 'created_by', '*'), False) +addmenu.tag_subject_of(('*', 'require_permission', '*'), False) +addmenu.tag_subject_of(('*', 'wf_info_for', '*'), False) +addmenu.tag_object_of(('*', 'wf_info_for', '*'), False) +addmenu.tag_object_of(('*', 'state_of', 'CWEType'), True) +addmenu.tag_object_of(('*', 'transition_of', 'CWEType'), True) +addmenu.tag_object_of(('*', 'relation_type', 'CWRType'), True) +addmenu.tag_object_of(('*', 'from_entity', 'CWEType'), False) +addmenu.tag_object_of(('*', 'to_entity', 'CWEType'), False) +addmenu.tag_object_of(('*', 'in_group', 'CWGroup'), True) +addmenu.tag_object_of(('*', 'owned_by', 'CWUser'), False) +addmenu.tag_object_of(('*', 'created_by', 'CWUser'), False) +addmenu.tag_object_of(('*', 'bookmarked_by', 'CWUser'), True) +addmenu.tag_subject_of(('Transition', 'destination_state', '*'), True) +addmenu.tag_object_of(('*', 'allowed_transition', 'Transition'), True) +addmenu.tag_object_of(('*', 'destination_state', 'State'), True) +addmenu.tag_subject_of(('State', 'allowed_transition', '*'), True) diff -r 3ad936634d2a -r 3753f3a07ca1 web/views/autoform.py --- a/web/views/autoform.py Sun Aug 02 19:32:57 2009 +0200 +++ b/web/views/autoform.py Sun Aug 02 20:56:05 2009 +0200 @@ -14,7 +14,7 @@ from cubicweb.web import stdmsgs, uicfg from cubicweb.web.form import FieldNotFound from cubicweb.web.formfields import guess_field -from cubicweb.web.formwidgets import Button, SubmitButton +from cubicweb.web import formwidgets from cubicweb.web.views import forms, editforms @@ -33,9 +33,9 @@ cwtarget = 'eformframe' cssclass = 'entityForm' copy_nav_params = True - form_buttons = [SubmitButton(), - Button(stdmsgs.BUTTON_APPLY, cwaction='apply'), - Button(stdmsgs.BUTTON_CANCEL, cwaction='cancel')] + form_buttons = [formwidgets.SubmitButton(), + formwidgets.Button(stdmsgs.BUTTON_APPLY, cwaction='apply'), + formwidgets.Button(stdmsgs.BUTTON_CANCEL, cwaction='cancel')] attrcategories = ('primary', 'secondary') # class attributes below are actually stored in the uicfg module since we # don't want them to be reloaded @@ -307,3 +307,51 @@ def etype_relation_field(etype, rtype, role='subject'): eschema = AutomaticEntityForm.schema.eschema(etype) return AutomaticEntityForm.field_by_name(rtype, role, eschema) + + +## default form ui configuration ############################################## + +# use primary and not generated for eid since it has to be an hidden +uicfg.autoform_section.tag_attribute(('*', 'eid'), 'primary') +uicfg.autoform_section.tag_attribute(('*', 'description'), 'secondary') +uicfg.autoform_section.tag_attribute(('*', 'creation_date'), 'metadata') +uicfg.autoform_section.tag_attribute(('*', 'modification_date'), 'metadata') +uicfg.autoform_section.tag_attribute(('*', 'cwuri'), 'metadata') +uicfg.autoform_section.tag_attribute(('*', 'has_text'), 'generated') +uicfg.autoform_section.tag_subject_of(('*', 'in_state', '*'), 'primary') +uicfg.autoform_section.tag_subject_of(('*', 'owned_by', '*'), 'metadata') +uicfg.autoform_section.tag_subject_of(('*', 'created_by', '*'), 'metadata') +uicfg.autoform_section.tag_subject_of(('*', 'is', '*'), 'generated') +uicfg.autoform_section.tag_object_of(('*', 'is', '*'), 'generated') +uicfg.autoform_section.tag_subject_of(('*', 'is_instance_of', '*'), 'generated') +uicfg.autoform_section.tag_object_of(('*', 'is_instance_of', '*'), 'generated') +uicfg.autoform_section.tag_subject_of(('*', 'identity', '*'), 'generated') +uicfg.autoform_section.tag_object_of(('*', 'identity', '*'), 'generated') +uicfg.autoform_section.tag_subject_of(('*', 'require_permission', '*'), 'generated') +uicfg.autoform_section.tag_subject_of(('*', 'wf_info_for', '*'), 'generated') +uicfg.autoform_section.tag_object_of(('*', 'wf_info_for', '*'), 'generated') +uicfg.autoform_section.tag_subject_of(('*', 'for_user', '*'), 'generated') +uicfg.autoform_section.tag_object_of(('*', 'for_user', '*'), 'generated') +uicfg.autoform_section.tag_subject_of(('CWPermission', 'require_group', '*'), 'primary') +uicfg.autoform_section.tag_attribute(('CWEType', 'final'), 'generated') +uicfg.autoform_section.tag_attribute(('CWRType', 'final'), 'generated') +uicfg.autoform_section.tag_attribute(('CWUser', 'firstname'), 'secondary') +uicfg.autoform_section.tag_attribute(('CWUser', 'surname'), 'secondary') +uicfg.autoform_section.tag_attribute(('CWUser', 'last_login_time'), 'metadata') +uicfg.autoform_section.tag_subject_of(('CWUser', 'in_group', '*'), 'primary') +uicfg.autoform_section.tag_object_of(('*', 'owned_by', 'CWUser'), 'generated') +uicfg.autoform_section.tag_object_of(('*', 'created_by', 'CWUser'), 'generated') +uicfg.autoform_section.tag_object_of(('*', 'bookmarked_by', 'CWUser'), 'metadata') +uicfg.autoform_section.tag_attribute(('Bookmark', 'path'), 'primary') +uicfg.autoform_section.tag_subject_of(('*', 'use_email', '*'), 'generated') # inlined actually +uicfg.autoform_section.tag_subject_of(('*', 'primary_email', '*'), 'generic') + +uicfg.autoform_field_kwargs.tag_attribute(('RQLExpression', 'expression'), + {'widget': formwidgets.TextInput}) +uicfg.autoform_field_kwargs.tag_attribute(('Bookmark', 'path'), + {'widget': formwidgets.TextInput}) + +uicfg.autoform_is_inlined.tag_subject_of(('*', 'use_email', '*'), True) +uicfg.autoform_is_inlined.tag_subject_of(('CWRelation', 'relation_type', '*'), True) +uicfg.autoform_is_inlined.tag_subject_of(('CWRelation', 'from_entity', '*'), True) +uicfg.autoform_is_inlined.tag_subject_of(('CWRelation', 'to_entity', '*'), True) diff -r 3ad936634d2a -r 3753f3a07ca1 web/views/primary.py --- a/web/views/primary.py Sun Aug 02 19:32:57 2009 +0200 +++ b/web/views/primary.py Sun Aug 02 20:56:05 2009 +0200 @@ -225,3 +225,21 @@ self.w(u'[%s]' % (self.build_url(rql=rql), self.req._('see them all'))) self.w(u'') + +## default primary ui configuration ########################################### + +for rtype in ('eid', 'creation_date', 'modification_date', 'cwuri', + 'is', 'is_instance_of', 'identity', + 'owned_by', 'created_by', + 'in_state', 'wf_info_for', 'require_permission', + 'from_entity', 'to_entity', + 'see_also'): + uicfg.primaryview_section.tag_subject_of(('*', rtype, '*'), 'hidden') + uicfg.primaryview_section.tag_object_of(('*', rtype, '*'), 'hidden') +uicfg.primaryview_section.tag_subject_of(('*', 'use_email', '*'), 'attributes') +uicfg.primaryview_section.tag_subject_of(('*', 'primary_email', '*'), 'hidden') + +for attr in ('name', 'final'): + uicfg.primaryview_section.tag_attribute(('CWEType', attr), 'hidden') +for attr in ('name', 'final', 'symetric', 'inlined'): + uicfg.primaryview_section.tag_attribute(('CWRType', attr), 'hidden')