Exemplo n.º 1
0
    def __call__(self):
        if not(getSecurityManager().checkPermission(EditWorksheet, self.context)):
            self.request.response.redirect(self.context.absolute_url())
            return

        # Deny access to foreign analysts
        if checkUserManage(self.context, self.request) == False:
            return []

        showRejectionMessage(self.context)

        form = self.request.form
        if 'submitted' in form:
            rc = getToolByName(self.context, REFERENCE_CATALOG)
            # parse request
            service_uids = form['selected_service_uids'].split(",")
            position = form['position']
            reference_uid = form['reference_uid']
            reference = rc.lookupObject(reference_uid)
            self.request['context_uid'] = self.context.UID()
            ref_analyses = self.context.addReferences(position, reference, service_uids)
            self.request.response.redirect(self.context.absolute_url() + "/manage_results")
        else:
            self.Services = ServicesView(self.context, self.request)
            self.Services.view_url = self.Services.base_url + "/add_blank"
            return self.template()
Exemplo n.º 2
0
    def __call__(self):
        if not (getSecurityManager().checkPermission(EditWorksheet,
                                                     self.context)):
            self.request.response.redirect(self.context.absolute_url())
            return

        # Deny access to foreign analysts
        if checkUserManage(self.context, self.request) == False:
            return []

        showRejectionMessage(self.context)

        form = self.request.form
        if 'submitted' in form:
            rc = getToolByName(self.context, REFERENCE_CATALOG)
            # parse request
            service_uids = form['selected_service_uids'].split(",")
            position = form['position']
            reference_uid = form['reference_uid']
            reference = rc.lookupObject(reference_uid)
            self.request['context_uid'] = self.context.UID()
            ref_analyses = self.context.addReferences(position, reference,
                                                      service_uids)
            self.request.response.redirect(self.context.absolute_url() +
                                           "/manage_results")
        else:
            self.Services = ServicesView(self.context, self.request)
            self.Services.view_url = self.Services.base_url + "/add_blank"
            return self.template()
Exemplo n.º 3
0
    def __call__(self):
        if not (getSecurityManager().checkPermission(EditWorksheet,
                                                     self.context)):
            self.request.response.redirect(self.context.absolute_url())
            return

        # Deny access to foreign analysts
        if checkUserManage(self.context, self.request) == False:
            return []

        showRejectionMessage(self.context)

        form = self.request.form
        if 'submitted' in form:
            ar_uid = self.request.get('ar_uid', '')
            src_slot = [
                slot['position'] for slot in self.context.getLayout()
                if slot['container_uid'] == ar_uid and slot['type'] == 'a'
            ][0]
            self.request['context_uid'] = self.context.UID()
            self.context.addDuplicateAnalyses(src_slot)
            self.request.response.redirect(self.context.absolute_url() +
                                           "/manage_results")
        else:
            self.ARs = AnalysisRequestsView(self.context, self.request)
            return self.template()
Exemplo n.º 4
0
    def __call__(self):
        if not(getSecurityManager().checkPermission(EditWorksheet, self.context)):
            self.request.response.redirect(self.context.absolute_url())
            return

        # Deny access to foreign analysts
        if checkUserManage(self.context, self.request) == False:
            return []

        showRejectionMessage(self.context)

        form = self.request.form
        rc = getToolByName(self.context, REFERENCE_CATALOG)
        if 'submitted' in form:
            if 'getWorksheetTemplate' in form and form['getWorksheetTemplate']:
                layout = self.context.getLayout()
                wst = rc.lookupObject(form['getWorksheetTemplate'])
                self.request['context_uid'] = self.context.UID()
                self.context.applyWorksheetTemplate(wst)
                if len(self.context.getLayout()) != len(layout):
                    self.context.plone_utils.addPortalMessage(
                        PMF("Changes saved."))
                    self.request.RESPONSE.redirect(self.context.absolute_url() +
                                                   "/manage_results")
                else:
                    self.context.plone_utils.addPortalMessage(
                        _("No analyses were added to this worksheet."))
                    self.request.RESPONSE.redirect(self.context.absolute_url() +
                                                   "/add_analyses")
            elif (
                'FilterByCategory' in form or
                'FilterByService' in form or
                'FilterByClient' in form
                    ):
                # Apply filter elements
                # Note that the name of those fields is '..Title', but we
                # are getting their UID.
                category = form.get('FilterByCategory', '')
                if category:
                    self.contentFilter['getCategoryUID'] = category

                service = form.get('FilterByService', '')
                if service:
                    self.contentFilter['getServiceUID'] = service

                client = form.get('FilterByClient', '')
                if client:
                    self.contentFilter['getClientUID'] = client

        self._process_request()

        if self.request.get('table_only', '') == self.form_id or \
                self.request.get('rows_only', '') == self.form_id:
            return self.contents_table()
        else:
            return self.template()
Exemplo n.º 5
0
    def __call__(self):
        if not (getSecurityManager().checkPermission(EditWorksheet,
                                                     self.context)):
            self.request.response.redirect(self.context.absolute_url())
            return

        # Deny access to foreign analysts
        if checkUserManage(self.context, self.request) == False:
            return []

        showRejectionMessage(self.context)

        form = self.request.form
        rc = getToolByName(self.context, REFERENCE_CATALOG)
        if 'submitted' in form:
            if 'getWorksheetTemplate' in form and form['getWorksheetTemplate']:
                layout = self.context.getLayout()
                wst = rc.lookupObject(form['getWorksheetTemplate'])
                self.request['context_uid'] = self.context.UID()
                self.context.applyWorksheetTemplate(wst)
                if len(self.context.getLayout()) != len(layout):
                    self.context.plone_utils.addPortalMessage(
                        PMF("Changes saved."))
                    self.request.RESPONSE.redirect(
                        self.context.absolute_url() + "/manage_results")
                else:
                    self.context.plone_utils.addPortalMessage(
                        _("No analyses were added to this worksheet."))
                    self.request.RESPONSE.redirect(
                        self.context.absolute_url() + "/add_analyses")

        filter_mapping = {
            "FilterByCategory": "getCategoryUID",
            "FilterByService": "getServiceUID",
            "FilterByClient": "getClientUID",
        }

        for filter_key, cat_index in filter_mapping.items():
            form_key = "{}_{}".format(self.form_id, filter_key)
            value = form.get(form_key)
            if value is None:
                continue
            self.contentFilter[cat_index] = value

        self.update()

        if self.request.get('table_only', '') == self.form_id or \
                self.request.get('rows_only', '') == self.form_id:
            return self.contents_table()
        else:
            return self.template()
Exemplo n.º 6
0
    def __call__(self):
        if not (getSecurityManager().checkPermission(EditWorksheet,
                                                     self.context)):
            self.request.response.redirect(self.context.absolute_url())
            return

        # Deny access to foreign analysts
        if checkUserManage(self.context, self.request) == False:
            return []

        showRejectionMessage(self.context)

        translate = self.context.translate

        form_id = self.form_id
        form = self.request.form
        rc = getToolByName(self.context, REFERENCE_CATALOG)
        if 'submitted' in form:
            if 'getWorksheetTemplate' in form and form['getWorksheetTemplate']:
                layout = self.context.getLayout()
                wst = rc.lookupObject(form['getWorksheetTemplate'])
                client_title = form.get('client', 'any')
                self.request['context_uid'] = self.context.UID()
                self.context.applyWorksheetTemplate(wst,
                                                    client_title=client_title)
                if len(self.context.getLayout()) != len(layout):
                    self.context.plone_utils.addPortalMessage(
                        PMF("Changes saved."))
                    self.request.RESPONSE.redirect(
                        self.context.absolute_url() + "/manage_results")
                else:
                    self.context.plone_utils.addPortalMessage(
                        _("No analyses were added to this worksheet."))
                    self.request.RESPONSE.redirect(
                        self.context.absolute_url() + "/add_analyses")

        self._process_request()

        if self.request.get('table_only', '') == self.form_id:
            return self.contents_table()
        elif self.request.get('rows_only', '') == self.form_id:
            return self.contents_table()
        else:
            return self.template()
Exemplo n.º 7
0
    def __call__(self):
        if not(getSecurityManager().checkPermission(EditWorksheet, self.context)):
            self.request.response.redirect(self.context.absolute_url())
            return

        # Deny access to foreign analysts
        if checkUserManage(self.context, self.request) == False:
            return []

        showRejectionMessage(self.context)

        translate = self.context.translate

        form_id = self.form_id
        form = self.request.form
        rc = getToolByName(self.context, REFERENCE_CATALOG)
        if 'submitted' in form:
            if 'getWorksheetTemplate' in form and form['getWorksheetTemplate']:
                layout = self.context.getLayout()
                wst = rc.lookupObject(form['getWorksheetTemplate'])
                client_title = form.get('client', 'any')
                self.request['context_uid'] = self.context.UID()
                self.context.applyWorksheetTemplate(
                    wst, client_title=client_title)
                if len(self.context.getLayout()) != len(layout):
                    self.context.plone_utils.addPortalMessage(
                        PMF("Changes saved."))
                    self.request.RESPONSE.redirect(self.context.absolute_url() +
                                                   "/manage_results")
                else:
                    self.context.plone_utils.addPortalMessage(
                        _("No analyses were added to this worksheet."))
                    self.request.RESPONSE.redirect(self.context.absolute_url() +
                                                   "/add_analyses")

        self._process_request()

        if self.request.get('table_only', '') == self.form_id:
            return self.contents_table()
        elif self.request.get('rows_only', '') == self.form_id:
            return self.contents_table()
        else:
            return self.template()
Exemplo n.º 8
0
    def __call__(self):
        if not(getSecurityManager().checkPermission(EditWorksheet, self.context)):
            self.request.response.redirect(self.context.absolute_url())
            return

        # Deny access to foreign analysts
        if checkUserManage(self.context, self.request) == False:
            return []

        showRejectionMessage(self.context)

        form = self.request.form
        if 'submitted' in form:
            ar_uid = self.request.get('ar_uid', '')
            src_slot = [slot['position'] for slot in self.context.getLayout() if
                        slot['container_uid'] == ar_uid and slot['type'] == 'a'][0]
            self.request['context_uid'] = self.context.UID()
            self.context.addDuplicateAnalyses(src_slot)
            self.request.response.redirect(self.context.absolute_url() + "/manage_results")
        else:
            self.ARs = AnalysisRequestsView(self.context, self.request)
            return self.template()