Пример #1
0
    def widget(self, field_name, mode='view', field=None, **kwargs):
        """ special handling for uploaded_pdfFile widget
        """
        bib_tool = getToolByName(self, 'portal_bibliography')
        pdf_file = self.getPdf_file()
        if (pdf_file and self.isPdfUploadAllowedForThisType() and \
            bib_tool.allowPdfUploadPortalPolicy()) and \
            ((field_name == 'uploaded_pdfFile') or \
             (field == self.Schema().getField('uploaded_pdfFile'))):

            if pdf_file:
                field_name = 'uploaded_pdfFile'
                if field is None:
                    field = pdf_file.Schema()['file']
                widget = field.widget
                return renderer.render(field_name,
                                       mode,
                                       widget,
                                       pdf_file,
                                       field=field,
                                       **kwargs)

        else:

            return BaseContent.widget(self,
                                      field_name=field_name,
                                      mode=mode,
                                      field=field,
                                      **kwargs)
Пример #2
0
 def widget(self, field_name, mode="view", field=None, **kwargs):
     # Returns the rendered widget.
     if field is None:
         field = self.Schema()[field_name]
     widget = field.widget
     return renderer.render(field_name, mode, widget, self, field=field,
                            **kwargs)
Пример #3
0
 def widget(self, field_name, mode="view", field=None, **kwargs):
     # Returns the rendered widget.
     if field is None:
         field = self.Schema()[field_name]
     widget = field.widget
     return renderer.render(field_name, mode, widget, self, field=field,
                            **kwargs)
Пример #4
0
    def widget(self, field_name, mode='view', field=None, **kwargs):
        """ special handling for uploaded_pdfFile widget
        """
        bib_tool = getToolByName(self, 'portal_bibliography')
        pdf_file = self.getPdf_file()
        if (pdf_file and self.isPdfUploadAllowedForThisType() and \
            bib_tool.allowPdfUploadPortalPolicy()) and \
            ((field_name == 'uploaded_pdfFile') or \
             (field == self.Schema().getField('uploaded_pdfFile'))):

            if pdf_file:
                field_name = 'uploaded_pdfFile'
                if field is None:
                    field = pdf_file.Schema()['file']
                widget = field.widget
                return renderer.render(field_name,
                                       mode,
                                       widget,
                                       pdf_file,
                                       field=field,
                                       **kwargs)

        else:

            return BaseContent.widget(self,
                                      field_name=field_name,
                                      mode=mode,
                                      field=field,
                                      **kwargs)
Пример #5
0
def widget(self, field_name, mode="view", field=None, **kwargs):
    """Returns the rendered widget.
    """

    if field is None:
        field = self.Schema()[field_name]
    widget = ATWidgetWrapper(field.widget)
    return renderer.render(field_name, mode, widget, self, field=field, **kwargs)
def widget(self, field_name, mode="view", field=None, **kwargs):
    """Returns the rendered widget.
    """

    if field is None:
        field = self.Schema()[field_name]
    widget = ATWidgetWrapper(field.widget)
    return renderer.render(field_name,
                           mode,
                           widget,
                           self,
                           field=field,
                           **kwargs)
Пример #7
0
    def getAddRemoveField(
        self,
        name,
        title,
        values,
        nameKey="name",
        pkKey="pk",
        selectedPks=[],
        selectedNames=[],
        canAddValues=False,
        liveSearch=True,
    ):
        """
        generates an Add / Remove from list field with already selected pks
        nameKey and pkKey are used for the display value and the record pk to
        save
        """

        class MyContext(BaseContent):
            def getSelectedValues(self):
                return [str(pk) for pk in selectedPks]
                # if selectedNames:
                #    return selectedNames

        if not isinstance(nameKey, list):
            nameKey = [nameKey]
        items = []
        for value in values:
            if isinstance(value, dict):
                display = " ".join([value.get(n) for n in nameKey])
                # display = ' '.join([n and getattr(value, n) or '-' for n in nameKey])
                term = (str(value.get(pkKey)), display)
            else:
                display = " ".join([getattr(value, n) for n in nameKey])
                # display = ' '.join([n and getattr(value, n) or '-' for n in nameKey])
                term = (str(getattr(value, pkKey)), display)
            items.append(term)

        field = LinesField(
            name,
            vocabulary=items,
            edit_accessor="getSelectedValues",
            enforceVocabulary=not canAddValues,
            write_permission="View",
            widget=AddRemoveWidget(size=10, description="", label=title, liveSearch=liveSearch),
        )

        wrappedContext = MyContext("dummycontext").__of__(self.context)
        widget = field.widget
        res = renderer.render(name, "edit", widget, wrappedContext, field=field)
        return res
Пример #8
0
 def __call__(self):
     __traceback_info__ = self._args
     return renderer.render(**self._args)
Пример #9
0
 def __call__(self):
     __traceback_info__ = self._args
     return renderer.render(**self._args)