diff --git a/CHANGES.rst b/CHANGES.rst index 137a631d51..bb8dcc0146 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -43,6 +43,7 @@ Changelog **Removed** +- #1541 Remove add/edit options of ReferenceWidget - #1535 Remove `zcatalog` monkey (and `getRequestUID` index) - #1518 Removed stale indexes from `analysis_catalog` - #1516 Removed getResultsRange metadata from analysis_catalog diff --git a/bika/lims/browser/bootstrap/static/css/bootstrap-integration.css b/bika/lims/browser/bootstrap/static/css/bootstrap-integration.css index d9e3c7c340..3b90fcb153 100644 --- a/bika/lims/browser/bootstrap/static/css/bootstrap-integration.css +++ b/bika/lims/browser/bootstrap/static/css/bootstrap-integration.css @@ -358,27 +358,6 @@ div.overlay div.close { width: 30px; opacity: 1; } -/* /Fixture for overlays */ - -/* Patient and Doctor Add and Edit buttons */ -a.add-button { - font-weight: bold; - background: transparent url(++resource++bika.lims.images/add.png) left center no-repeat; - padding: 8px 8px 8px 10px; -} -a.edit-button { - font-weight: bold; - background: transparent url(++resource++bika.lims.images/edit.png) left center no-repeat; - padding: 8px 8px 8px 10px; -} -#content a.add-button.referencewidget-add-button.link-overlay, -#content a.edit-button.referencewidget-edit-button.link-overlay { - border-bottom: medium none !important; -} -h2 a.add-button { - padding: 12px 0 0 38px; - background-position: 15px 10px; -} /* Flatten the first heading from content a bit https://github.com/senaite/senaite.lims/pull/92 */ diff --git a/bika/lims/browser/images/edit.png b/bika/lims/browser/images/edit.png deleted file mode 100644 index 1c4379957c..0000000000 Binary files a/bika/lims/browser/images/edit.png and /dev/null differ diff --git a/bika/lims/browser/images/edit_big.png b/bika/lims/browser/images/edit_big.png deleted file mode 100644 index 335d5d6bed..0000000000 Binary files a/bika/lims/browser/images/edit_big.png and /dev/null differ diff --git a/bika/lims/browser/js/bika.lims.site.js b/bika/lims/browser/js/bika.lims.site.js index 2e7e28f9d1..c74b7efba2 100644 --- a/bika/lims/browser/js/bika.lims.site.js +++ b/bika/lims/browser/js/bika.lims.site.js @@ -30,7 +30,6 @@ this.get_portal_url = bind(this.get_portal_url, this); this.init_referencedefinition = bind(this.init_referencedefinition, this); this.init_datepickers = bind(this.init_datepickers, this); - this.init_client_add_overlay = bind(this.init_client_add_overlay, this); this.bind_eventhandler = bind(this.bind_eventhandler, this); this.load = bind(this.load, this); } @@ -39,7 +38,6 @@ console.debug("SiteView::load"); jarn.i18n.loadCatalog('senaite.core'); this._ = window.jarn.i18n.MessageFactory("senaite.core"); - this.init_client_add_overlay(); this.init_datepickers(); this.init_referencedefinition(); this.bind_eventhandler(); @@ -80,29 +78,6 @@ }); }; - SiteView.prototype.init_client_add_overlay = function() { - - /* - * Initialize Client Overlay - */ - console.debug("SiteView::init_client_add_overlay"); - return $('a.add_client').prepOverlay({ - subtype: 'ajax', - filter: 'head>*,#content>*:not(div.configlet),dl.portalMessage.error,dl.portalMessage.info', - formselector: '#client-base-edit', - closeselector: '[name="form.button.cancel"]', - width: '70%', - noform: 'close', - config: { - closeOnEsc: false, - onLoad: function() { - this.getOverlay().find('.ArchetypesRemarksWidget').remove(); - }, - onClose: function() {} - } - }); - }; - SiteView.prototype.init_datepickers = function() { /* diff --git a/bika/lims/browser/js/coffee/bika.lims.site.coffee b/bika/lims/browser/js/coffee/bika.lims.site.coffee index 441f01f0ec..4f1739401d 100644 --- a/bika/lims/browser/js/coffee/bika.lims.site.coffee +++ b/bika/lims/browser/js/coffee/bika.lims.site.coffee @@ -12,9 +12,6 @@ class window.SiteView jarn.i18n.loadCatalog 'senaite.core' @_ = window.jarn.i18n.MessageFactory("senaite.core") - # initialze the client add overlay - @init_client_add_overlay() - # initialze datepickers @init_datepickers() @@ -88,30 +85,6 @@ class window.SiteView return - init_client_add_overlay: => - ### - * Initialize Client Overlay - ### - console.debug "SiteView::init_client_add_overlay" - - $('a.add_client').prepOverlay - subtype: 'ajax' - filter: 'head>*,#content>*:not(div.configlet),dl.portalMessage.error,dl.portalMessage.info' - formselector: '#client-base-edit' - closeselector: '[name="form.button.cancel"]' - width: '70%' - noform: 'close' - config: - closeOnEsc: false - onLoad: -> - # manually remove remarks - @getOverlay().find('.ArchetypesRemarksWidget').remove() - return - onClose: -> - # here is where we'd populate the form controls, if we cared to. - return - - init_datepickers: => ### * Initialize date pickers diff --git a/bika/lims/browser/widgets/referencewidget.py b/bika/lims/browser/widgets/referencewidget.py index b4e97553c3..c0f5f0ca84 100644 --- a/bika/lims/browser/widgets/referencewidget.py +++ b/bika/lims/browser/widgets/referencewidget.py @@ -72,20 +72,6 @@ class ReferenceWidget(StringWidget): 'sidx': 'Title', 'force_all': False, 'portal_types': {}, - 'add_button': { - 'visible': False, - 'url': '', - 'js_controllers': [], - 'return_fields': [], - 'overlay_options': {}, - }, - 'edit_button': { - 'visible': False, - 'url': '', - 'js_controllers': [], - 'return_fields': [], - 'overlay_options': {}, - }, }) security = ClassSecurityInfo() @@ -161,37 +147,6 @@ def initial_uid_field_value(self, value): ret = value.UID() if value else value return ret - def get_addbutton_options(self): - # Return a dict with the options defined in the schema whose widget needs an add button. - return { - 'visible': self.add_button.get('visible', False), - 'url': self.add_button.get('url'), - 'return_fields': json.dumps(self.add_button.get('return_fields')), - 'js_controllers': json.dumps(self.add_button.get('js_controllers',[])), - 'overlay_handler': self.add_button.get('overlay_handler', ''), - 'overlay_options': json.dumps(self.add_button.get('overlay_options',{ - 'filter': 'head>*,#content>*:not(div.configlet),dl.portalMessage.error,dl.portalMessage.info', - 'formselector': 'form[id$="base-edit"]', - 'closeselector': '[name="form.button.cancel"]', - 'width': '70%', - 'noform': 'close',})) - } - - def get_editbutton_options(self): - # Return a dict with the options defined in the schema whose widget needs an edit button. - return { - 'visible': self.edit_button.get('visible', False), - 'url': self.edit_button.get('url'), - 'return_fields': json.dumps(self.edit_button.get('return_fields')), - 'js_controllers': json.dumps(self.edit_button.get('js_controllers',[])), - 'overlay_handler': self.edit_button.get('overlay_handler', ''), - 'overlay_options': json.dumps(self.edit_button.get('overlay_options',{ - 'filter': 'head>*,#content>*:not(div.configlet),dl.portalMessage.error,dl.portalMessage.info', - 'formselector': 'form[id$="base-edit"]', - 'closeselector': '[name="form.button.cancel"]', - 'width': '70%', - 'noform': 'close',})) - } registerWidget(ReferenceWidget, title='Reference Widget') diff --git a/bika/lims/content/analysisrequest.py b/bika/lims/content/analysisrequest.py index debea78513..5d594d1d16 100644 --- a/bika/lims/content/analysisrequest.py +++ b/bika/lims/content/analysisrequest.py @@ -249,13 +249,6 @@ "sort_on": "sortable_title", "sort_order": "ascending"}, showOn=True, - add_button={ - 'visible': True, - 'url': 'clients/createObject?type_name=Client', - 'return_fields': ['Title'], - 'js_controllers': ['#client-base-edit'], - 'overlay_handler': 'ClientOverlayHandler', - } ), ), diff --git a/bika/lims/skins/bika/bika_widgets/referencewidget.js b/bika/lims/skins/bika/bika_widgets/referencewidget.js index 9b2ec6c6dc..d06747ab1d 100644 --- a/bika/lims/skins/bika/bika_widgets/referencewidget.js +++ b/bika/lims/skins/bika/bika_widgets/referencewidget.js @@ -31,8 +31,6 @@ save_UID_check(); check_UID_check(); check_missing_UID(); - load_addbutton_overlays(); - load_editbutton_overlays(); }); }(jQuery)); @@ -238,137 +236,3 @@ function check_missing_UID(){ } ) } - -function apply_button_overlay(button) { - /** - * Given an element (button), this function sets its overlay options. - * The overlay options to be applied are retrieved from the button's - * data_overlay attribute. - * Further info about jQuery overlay: - * http://jquerytools.github.io/documentation/overlay/ - */ - // Obtain overlay options from html button attributes. - var options = $.parseJSON($(button).attr('data_overlay')); - options['subtype'] = 'ajax'; - var config = {}; - - // overlay.OnLoad javascript snippet - config['onLoad'] = function () { - var triggerid = "[rel='#" + this.getTrigger().attr('id') + "']"; - // If there are defined some jsControllers, they'll be reloaded every time the overlay is loaded. - var jscontrollers = $(triggerid).attr('data_jscontrollers'); - jscontrollers = $.parseJSON(jscontrollers); - if (jscontrollers.length > 0) { - window.bika.lims.loadControllers(false, jscontrollers); - } - // Check personalized onLoad functionalities. - var handler = $(triggerid).attr('data_overlay_handler'); - if (handler != '') { - var fn = window[handler]; - if (typeof fn === "function") { - handler = new fn(); - if (typeof handler.onLoad === "function") { - handler.onLoad(this); - } - } - } - }; - - // overlay.OnBeforeClose javascript snippet - config['onBeforeClose'] = function () { - var triggerid = "[rel='#" + this.getTrigger().attr('id') + "']"; - var handler = $(triggerid).attr('data_overlay_handler'); - if (handler != '') { - var fn = window[handler]; - if (typeof fn === "function") { - handler = new fn(); - if (typeof handler.onBeforeClose === "function") { - handler.onBeforeClose(this); - // Done, exit - return true; - } - } - } - var retfields = $.parseJSON($(triggerid).attr('data_returnfields')); - if (retfields.length > 0) { - // Default behaviour. - // Set the value from the returnfields to the input - // and select the first option. - // This might be improved by finding a way to get the - // uid of the object created/edited and assign directly - // the value to the underlaying referencewidget - var retvals = []; - $.each(retfields, function (index, value) { - var retval = $('div.overlay #' + value).val(); - if (retval != '') { - retvals.push(retval); - } - }); - if (retvals.length > 0) { - retvals = retvals.join(' '); - $(triggerid).prev('input').val(retvals).focus(); - setTimeout(function () { - $('.cg-DivItem').first().click(); - }, 500); - } - } - return true; - }; - options['config'] = config; - $(button).prepOverlay(options); -} - -function load_addbutton_overlays() { - /** - * Add the overlay conditions for the AddButton. - */ - $('a.referencewidget-add-button').each(function (i) { - apply_button_overlay('#' + $(this).attr('id')); - }); -} - -function load_editbutton_overlay(button) { - /** - * Given an element (button), show/hide the element depending on its trigger UID. - * No UID -> No object selected -> Noting to edit -> hide edit - * Yes UID -> Object selected -> Something to edit -> show edit. - */ - var element = '#' + $(button).attr('data_fieldid'); - var uid = $(element).attr('uid'); - // No UID found -> Hide Edit button - if (!uid || uid == '') { - $(button).hide(); - } - else { - // UID found -> Show Edit button & update href attribute - $(button).show(); - // Get object's id - var request_data = { - catalog_name: "uid_catalog", - UID: uid - }; - window.bika.lims.jsonapi_read(request_data, function (data) { - var root_href = $(button).attr('data_baseurl'); - var id = data.objects[0].id; - $(button).attr('href', root_href + "/" + id + '/edit'); - apply_button_overlay(button); - }); - } -} - -function load_editbutton_overlays() { - /** - * Add the overlay conditions for the EditButton. - */ - $('a.referencewidget-edit-button').each(function (i) { - var button = '#' + $(this).attr('id'); - var fieldid = '#' + $(this).attr('data_fieldid'); - - $(fieldid).bind("selected blur paste", function () { - var button = '#' + $(this).siblings('a.referencewidget-edit-button').attr('id'); - load_editbutton_overlay(button); - }); - - load_editbutton_overlay(button); - }); -} diff --git a/bika/lims/skins/bika/bika_widgets/referencewidget.pt b/bika/lims/skins/bika/bika_widgets/referencewidget.pt index 2635b18966..da4154aa45 100644 --- a/bika/lims/skins/bika/bika_widgets/referencewidget.pt +++ b/bika/lims/skins/bika/bika_widgets/referencewidget.pt @@ -116,41 +116,6 @@ multiValued python:1 if context.Schema()[fieldName].multiValued else 0; combogrid_options python:widget.get_combogrid_options(context, fieldName)" /> - - - Add - - - - - Edit - -