web/views/editforms.py
branchstable
changeset 2327 2aa28ac13d64
parent 2312 af4d8f75c5db
child 2328 206735882b8e
equal deleted inserted replaced
2326:05ae71d9a069 2327:2aa28ac13d64
    88     id = 'reledit'
    88     id = 'reledit'
    89     __select__ = non_final_entity() & match_kwargs('rtype')
    89     __select__ = non_final_entity() & match_kwargs('rtype')
    90 
    90 
    91     # FIXME editableField class could be toggleable from userprefs
    91     # FIXME editableField class could be toggleable from userprefs
    92 
    92 
    93     onsubmit = ("return inlineValidateAttributeForm('%(divid)s-form', '%(rtype)s', "
       
    94                 "'%(eid)s', '%(divid)s', %(reload)s, '%(default)s');")
       
    95     ondblclick = "showInlineEditionForm(%(eid)s, '%(rtype)s', '%(divid)s')"
    93     ondblclick = "showInlineEditionForm(%(eid)s, '%(rtype)s', '%(divid)s')"
    96 
    94 
    97     def cell_call(self, row, col, rtype=None, role='subject', reload=False,
    95     def cell_call(self, row, col, rtype=None, role='subject', reload=False,
    98                   vid='textoutofcontext', default=None):
    96                   vid='textoutofcontext', default=None):
    99         """display field to edit entity's `rtype` relation on double-click"""
    97         """display field to edit entity's `rtype` relation on double-click"""
   134                                       table_class='', button_bar_class='buttonbar',
   132                                       table_class='', button_bar_class='buttonbar',
   135                                       display_progress_div=False)
   133                                       display_progress_div=False)
   136         self.w(form.form_render(renderer=renderer))
   134         self.w(form.form_render(renderer=renderer))
   137 
   135 
   138     def _build_relation_form(self, entity, value, rtype, role, row, col, vid, default):
   136     def _build_relation_form(self, entity, value, rtype, role, row, col, vid, default):
   139         entity = self.entity(row, col)
       
   140         divid = 'd%s' % make_uid('%s-%s' % (rtype, entity.eid))
   137         divid = 'd%s' % make_uid('%s-%s' % (rtype, entity.eid))
   141         event_data = {'divid' : divid, 'eid' : entity.eid, 'rtype' : rtype, 'vid' : vid,
   138         event_data = {'divid' : divid, 'eid' : entity.eid, 'rtype' : rtype, 'vid' : vid,
   142                       'default' : default, 'role' : role}
   139                       'default' : default, 'role' : role}
   143         onsubmit = ("return inlineValidateRelationForm('%(divid)s-form', '%(rtype)s', "
   140         onsubmit = ("return inlineValidateRelationForm('%(divid)s-form', '%(rtype)s', "
   144                     "'%(role)s', '%(eid)s', '%(divid)s', '%(vid)s', '%(default)s');"
   141                     "'%(role)s', '%(eid)s', '%(divid)s', '%(vid)s', '%(default)s');"
   161     def _build_attribute_form(self, entity, value, rtype, role, reload, row, col, default):
   158     def _build_attribute_form(self, entity, value, rtype, role, reload, row, col, default):
   162         eid = entity.eid
   159         eid = entity.eid
   163         divid = 'd%s' % make_uid('%s-%s' % (rtype, eid))
   160         divid = 'd%s' % make_uid('%s-%s' % (rtype, eid))
   164         event_data = {'divid' : divid, 'eid' : eid, 'rtype' : rtype,
   161         event_data = {'divid' : divid, 'eid' : eid, 'rtype' : rtype,
   165                       'reload' : dumps(reload), 'default' : default}
   162                       'reload' : dumps(reload), 'default' : default}
       
   163         onsubmit = ("return inlineValidateAttributeForm('%(divid)s-form', '%(rtype)s', "
       
   164                     "'%(eid)s', '%(divid)s', %(reload)s, '%(default)s');")
   166         buttons = [SubmitButton(stdmsgs.BUTTON_OK),
   165         buttons = [SubmitButton(stdmsgs.BUTTON_OK),
   167                    Button(stdmsgs.BUTTON_CANCEL,
   166                    Button(stdmsgs.BUTTON_CANCEL,
   168                           onclick="cancelInlineEdit(%s,\'%s\',\'%s\')" % (
   167                           onclick="cancelInlineEdit(%s,\'%s\',\'%s\')" % (
   169                               eid, rtype, divid))]
   168                               eid, rtype, divid))]
   170         form = self.vreg.select_object('forms', 'edition', self.req, self.rset,
   169         form = self.vreg.select_object('forms', 'edition', self.req, self.rset,
   171                                        row=row, col=col, form_buttons=buttons,
   170                                        row=row, col=col, form_buttons=buttons,
   172                                        domid='%s-form' % divid, action='#',
   171                                        domid='%s-form' % divid, action='#',
   173                                        cssstyle='display: none',
   172                                        cssstyle='display: none',
   174                                        onsubmit=self.onsubmit % event_data)
   173                                        onsubmit=onsubmit % event_data)
   175         self.w(tags.div(value, klass='editableField', id=divid,
   174         self.w(tags.div(value, klass='editableField', id=divid,
   176                         ondblclick=self.ondblclick % event_data))
   175                         ondblclick=self.ondblclick % event_data))
   177         return form
   176         return form
   178 
   177 
   179 
   178