# HG changeset patch # User Sylvain Thénault # Date 1272888623 -7200 # Node ID d0c8076e298bd2550ff5454f893d28288e30f224 # Parent 4ac3ea9face9e78ba08aa83e32c712b07aa8d0e4 [widget] kill buggy / unused (only in cmhn) AddComboBox widget diff -r 4ac3ea9face9 -r d0c8076e298b web/data/cubicweb.widgets.js --- a/web/data/cubicweb.widgets.js Mon May 03 14:09:37 2010 +0200 +++ b/web/data/cubicweb.widgets.js Mon May 03 14:10:23 2010 +0200 @@ -313,34 +313,5 @@ }); -/* - * ComboBox with a textinput : allows to add a new value - */ - -Widgets.AddComboBox = defclass('AddComboBox', null, { - __init__ : function(wdgnode) { - jQuery("#add_newopt").click(function() { - var new_val = jQuery("#newopt").val(); - if (!new_val){ - return false; - } - name = wdgnode.getAttribute('name').split(':'); - this.rel = name[0]; - this.eid_to = name[1]; - this.etype_to = wdgnode.getAttribute('cubicweb:etype_to'); - this.etype_from = wdgnode.getAttribute('cubicweb:etype_from'); - var d = asyncRemoteExec('add_and_link_new_entity', this.etype_to, this.rel, this.eid_to, this.etype_from, 'new_val'); - d.addCallback(function (eid) { - jQuery(wdgnode).find("option[selected]").removeAttr("selected"); - var new_option = OPTION({'value':eid, 'selected':'selected'}, value=new_val); - wdgnode.appendChild(new_option); - }); - d.addErrback(function (xxx) { - log('xxx =', xxx); - }); - }); - } -}); - CubicWeb.provide('widgets.js'); diff -r 4ac3ea9face9 -r d0c8076e298b web/formwidgets.py --- a/web/formwidgets.py Mon May 03 14:09:37 2010 +0200 +++ b/web/formwidgets.py Mon May 03 14:10:23 2010 +0200 @@ -60,7 +60,6 @@ .. autoclass:: cubicweb.web.formwidgets.AjaxWidget .. autoclass:: cubicweb.web.formwidgets.AutoCompletionWidget -.. kill or document AddComboBoxWidget .. kill or document StaticFileAutoCompletionWidget .. kill or document LazyRestrictedAutoCompletionWidget .. kill or document RestrictedAutoCompletionWidget @@ -776,24 +775,6 @@ return entity.view('combobox') -class AddComboBoxWidget(Select): - def attributes(self, form, field): - attrs = super(AddComboBoxWidget, self).attributes(form, field) - init_ajax_attributes(attrs, 'AddComboBox') - # XXX entity form specific - entity = form.edited_entity - attrs['cubicweb:etype_to'] = entity.e_schema - etype_from = entity.e_schema.subjrels[field.name].objects(entity.e_schema)[0] - attrs['cubicweb:etype_from'] = etype_from - return attrs - - def _render(self, form, field, renderer): - return super(AddComboBoxWidget, self)._render(form, field, renderer) + u''' -
- -  
-''' - # more widgets ################################################################# class IntervalWidget(FieldWidget): diff -r 4ac3ea9face9 -r d0c8076e298b web/views/basecontrollers.py --- a/web/views/basecontrollers.py Mon May 03 14:09:37 2010 +0200 +++ b/web/views/basecontrollers.py Mon May 03 14:10:23 2010 +0200 @@ -581,14 +581,6 @@ def js_add_pending_delete(self, (eidfrom, rel, eidto)): self._add_pending(eidfrom, rel, eidto, 'delete') - # XXX specific code. Kill me and my AddComboBox friend - @jsonize - def js_add_and_link_new_entity(self, etype_to, rel, eid_to, etype_from, value_from): - # create a new entity - eid_from = self._cw.execute('INSERT %s T : T name "%s"' % ( etype_from, value_from ))[0][0] - # link the new entity to the main entity - rql = 'SET F %(rel)s T WHERE F eid %(eid_to)s, T eid %(eid_from)s' % {'rel' : rel, 'eid_to' : eid_to, 'eid_from' : eid_from} - return eid_from # XXX move to massmailing class SendMailController(Controller):