示例#1
0
 def tableRowButtons(self, node):
     if node.get('system.key') == node.get('key'):
         # user has permission -> use users language
         return tal.getTAL("workflow/workflow.html",
                           {'node': node,
                            'wfstep': self,
                            'lang': node.get('system.wflanguage')},
                           macro="workflow_buttons",
                           language=node.get('system.wflanguage'))
     else:
         # use standard language of request
         return tal.getTAL("workflow/workflow.html", {'node': node, 'wfstep': self, 'lang':
                                                      getDefaultLanguage()}, macro="workflow_buttons", language=getDefaultLanguage())
示例#2
0
 def tableRowButtons(self, node):
     if node.get('system.key') == node.get('key'):
         # user has permission -> use users language
         return tal.getTAL("workflow/workflow.html",
                           {'node': node,
                            'wfstep': self,
                            'lang': node.get('system.wflanguage')},
                           macro="workflow_buttons",
                           language=node.get('system.wflanguage'))
     else:
         # use standard language of request
         return tal.getTAL("workflow/workflow.html", {'node': node, 'wfstep': self, 'lang':
                                                      getDefaultLanguage()}, macro="workflow_buttons", language=getDefaultLanguage())
示例#3
0
文件: hlist.py 项目: hibozzy/mediatum
 def getEditorHTML(self,
                   field,
                   value="",
                   width=40,
                   lock=0,
                   language=None,
                   required=None):
     try:
         values = field.valuelist.split(';')
     except AttributeError:
         values = field.split('\r\n')
     while len(values) < 3:
         values.append(u'')
     return tal.getTAL("metadata/hlist.html", {
         "lock": lock,
         "startnode": values[0],
         "attrname": values[1],
         "onlylast": values[2],
         "value": value,
         "width": width,
         "name": field.getName(),
         "field": field,
         "required": self.is_required(required)
     },
                       macro="editorfield",
                       language=language)
示例#4
0
文件: url.py 项目: mediatum/mediatum
 def getAdminFieldsHTML(self, values={}):
     return tal.getTAL("metadata/url.html",
                       {"valuelist": values["valuelist"],
                        "icons": m_url.icons,
                        "url_targets": m_url.targets},
                       macro="fieldeditor",
                       language=values["language"])
示例#5
0
文件: list.py 项目: mediatum/mediatum
 def getEditorHTML(self, field, value="", width=400, lock=0, language=None, required=None):
     context = Context(field, value=value, width=width, name=field.getName(), lock=lock, language=language)
     return tal.getTAL("metadata/list.html", {"context": context,
                                              "valuelist": filter(lambda x: x != "", self.formatValues(context)),
                                              "required": self.is_required(required)},
                       macro="editorfield",
                       language=language)
示例#6
0
    def getMaskEditorHTML(self,
                          field,
                          metadatatype=None,
                          language=None,
                          attr_dict={}):

        try:
            value = field.getValues()
        except:
            value = ""

        #value = ""
        # if field:
        #    value = field.getValues()

        context = {
            "value": value,
            "additional_attrs": ",".join(self.additional_attrs),
        }

        for attr_name in self.additional_attrs:
            context[attr_name] = ''

        context.update(attr_dict)

        return tal.getTAL("metadata/memo.html",
                          context,
                          macro="maskeditor",
                          language=language)
示例#7
0
文件: mlist.py 项目: hibozzy/mediatum
 def getSearchHTML(self, context):
     return tal.getTAL("metadata/mlist.html", {
         "context": context,
         "valuelist": self.formatValues(context)
     },
                       macro="searchfield",
                       language=context.language)
示例#8
0
    def getEditorHTML(self,
                      field,
                      value="",
                      width=400,
                      lock=0,
                      language=None,
                      required=None):
        fielddef = field.getValues().split("\r\n")
        if len(fielddef) != 3:
            fielddef = ("", "", "")
        # separate url and urltext
        val = value.split(";")
        if len(val) == 1:
            # only url given
            val = [val[0], ""]
        elif len(val) > 2:
            val = val[0:2]

        return tal.getTAL("metadata/url.html", {
            "lock": lock,
            "value": val,
            "fielddef": fielddef,
            "width": width,
            "name": field.getName(),
            "field": field,
            "required": self.is_required(required)
        },
                          macro="editorfield",
                          language=language)
示例#9
0
 def getSearchHTML(self, context):
     return tal.getTAL("metadata/dlist.html",
                       {"context": context,
                        "valuelist": filter(lambda x: x != "",
                                            self.formatValues(context))},
                       macro="searchfield",
                       language=context.language)
示例#10
0
 def render_template(self, req, context):
     if self.template.endswith((".j2.jade", ".j2.html")):
         template_path = os.path.join("styles", self.template)
         return render_template(template_path, **context)
     else:
         template_path = os.path.join(self.path, self.template)
         return tal.getTAL(template_path, context, request=req)
示例#11
0
文件: url.py 项目: hibozzy/mediatum
    def getEditorHTML(self,
                      field,
                      value="",
                      width=400,
                      lock=0,
                      language=None,
                      required=None):
        fielddef = field.getValues().split("\r\n")
        if len(fielddef) != 3:
            fielddef = ("", "", "")
        val = value.split(";")
        # XXX: ???
        if len(val) != 2:
            val = ("", "")

        return tal.getTAL("metadata/url.html", {
            "lock": lock,
            "value": val,
            "fielddef": fielddef,
            "width": width,
            "name": field.getName(),
            "field": field,
            "required": self.is_required(required)
        },
                          macro="editorfield",
                          language=language)
示例#12
0
    def html(self, req):
        paths = ""
        stylebig = self.getContentStyles()
        liststyle = req.session.get("style-" + self.node.getContentType(), "")

        if not self.node.isContainer():
            plist = getPaths(self.node, AccessData(req))
            paths = tal.getTAL(theme.getTemplate("content_nav.html"),
                               {"paths": plist},
                               macro="paths",
                               language=lang(req))
        # render style of node for nodebig
        if len(stylebig) > 1:
            # more than on style found
            for item in stylebig:
                if liststyle:
                    if item.getName() == liststyle.getName():
                        return getFormatedString(
                            self.node.show_node_big(
                                req, template=item.getTemplate())) + paths
                else:
                    if item.isDefaultStyle():
                        return getFormatedString(
                            self.node.show_node_big(
                                req, template=item.getTemplate())) + paths
        elif len(stylebig) == 1:
            return getFormatedString(
                self.node.show_node_big(
                    req, template=stylebig[0].getTemplate())) + paths
        return getFormatedString(self.node.show_node_big(req)) + paths
示例#13
0
    def getEditorHTML(self,
                      field,
                      value="",
                      width=40,
                      lock=0,
                      language=None,
                      required=None):
        check_context()

        try:
            fieldname = field.name
        except:
            fieldname = None

        try:
            warning = [
                t[1] for t in self.labels[language]
                if t[0] == 'upload_notarget_warning'
            ][0]
        except:
            logg.exception(
                "exception in getEditorHTML, using default language")
            warning = [
                t[1] for t in self.labels[getDefaultLanguage()]
                if t[0] == 'upload_notarget_warning'
            ][0]

        context = {
            "lock": lock,
            "value": value,
            "width": width,
            "name": field.getName(),
            "field": field,
            "language": language,
            "warning": warning,
            "system_lock": 0,
            "required": self.is_required(required)
        }

        if lock:
            context['system_lock'] = 1

        try:
            if field.get("system.lock"):
                context['system_lock'] = 1
        except:
            pass

        s = tal.getTAL("metadata/upload.html",
                       context,
                       macro="editorfield",
                       language=language)
        if field.getName():
            s = s.replace("____FIELDNAME____", "%s" % field.getName())
        elif fieldname:
            s = s.replace("____FIELDNAME____", "%s" % fieldname)
        else:
            logg.warn("metadata: m_upload: no fieldname found")
        return s
示例#14
0
    def getEditorHTML(self,
                      field,
                      value="",
                      width=400,
                      name="",
                      lock=0,
                      language=None,
                      required=None):
        fielddef = field.getValues().split(
            "\r\n")  # url(source), type, name variable, value variable
        if name == "":
            name = field.getName()
        while len(fielddef) < 5:
            fielddef.append("")

        valuelist = []
        with suppress(ValueError, warn=False):
            # enables the field to be added without fields filled in without throwing an exception
            if fielddef[1] == 'json':
                opener = urllib2.build_opener()
                f = opener.open(urllib2.Request(fielddef[0], None, {}))
                data = json.load(f)
                data.sort(lambda x, y: cmp(x[fielddef[2]], y[fielddef[2]]))
                for item in data:
                    valuelist.append({
                        'select_text':
                        fielddef[4].replace(fielddef[2],
                                            item[fielddef[2]]).replace(
                                                fielddef[3],
                                                item[fielddef[3]]),
                        'select_value':
                        item[fielddef[3]]
                    })
                f.close()
            elif fielddef[1] == 'list':
                opener = urllib2.build_opener()
                f = opener.open(urllib2.Request(fielddef[0], None, {}))
                for item in f.read().split("\n"):
                    if not item.startswith("#"):
                        if ";" in item:
                            _v, _t = item.split(";")
                        else:
                            _v = _t = item
                        valuelist.append({
                            'select_text': _t.strip(),
                            'select_value': _v.strip()
                        })
                f.close()
        return tal.getTAL("metadata/dlist.html", {
            "lock": lock,
            "name": name,
            "width": width,
            "value": value,
            "valuelist": valuelist,
            "fielddef": fielddef,
            "required": self.is_required(required)
        },
                          macro="editorfield",
                          language=language)
示例#15
0
文件: memo.py 项目: agromsl/mediatum
    def getEditorHTML(self, field, value="", width=400, lock=0, language=None, required=None):

        # field may not be persisted as tree.Node and therefore may not have
        # an attribute "get"
        if hasattr(field, "get"):
            enable_multilang = bool(field.get('multilang'))
        else:
            enable_multilang = False

        if not language:
            language = getDefaultLanguage()

        try:
            field_node_name = field.name
        except:
            field_node_name = None

        context = {
            "lock": lock,
            "value": value,
            "width": width,
            "name": field_node_name,
            "field": field,
            "t": t,
            "ident": str(field.id),
            "current_lang": language,
            "defaultlang": language,  # not the systems default language
            "languages": [],
            "langdict": {language: value},
            "language_snipper": self.language_snipper,
            "value_is_multilang": 'single',
            "multilang_display": 'display: none',
            "enable_multilang": enable_multilang,
            "expand_multilang": False,
            "required": self.is_required(required)
        }

        if enable_multilang:
            languages = config_languages
            lang = [l for l in languages if l != language]

            langdict = self.str2dict(value)
            context.update(
                {
                    "languages": lang,
                    "langdict": langdict,
                    "value_is_multilang": {True: 'multi', False: 'single'}[self.has_language_cutter(value)],
                    "multilang_display": {True: '', False: 'display: none'}[self.has_language_cutter(value)],
                })

            if enable_multilang and self.has_language_cutter(value):
                context["expand_multilang"] = True
            else:
                context["expand_multilang"] = False

        return tal.getTAL("metadata/memo.html",
                          context,
                          macro="editorfield",
                          language=language)
示例#16
0
 def getEditorHTML(self, field, value="", width=40, lock=0, language=None, required=None):
     return tal.getTAL("metadata/label.html", {"lock": lock,
                                               "value": value,
                                               "width": width,
                                               "name": field.getName(),
                                               "field": field},
                       macro="editorfield",
                       language=language)
示例#17
0
 def getMaskEditorHTML(self, field, metadatatype=None, language=None):
     try:
         multilingual = field.getValues()
     except:
         multilingual = ""
     return tal.getTAL("metadata/text.html", {"multilingual": multilingual},
                       macro="maskeditor",
                       language=language)
示例#18
0
 def tableRowButtons(self, node):
     if node.get("system.key") == node.get("key"):
         # user has permission -> use users language
         return tal.getTAL(
             "workflow/workflow.html",
             {"node": node, "wfstep": self, "lang": node.get("system.wflanguage")},
             macro="workflow_buttons",
             language=node.get("system.wflanguage"),
         )
     else:
         # use standard language of request
         return tal.getTAL(
             "workflow/workflow.html",
             {"node": node, "wfstep": self, "lang": getDefaultLanguage()},
             macro="workflow_buttons",
             language=getDefaultLanguage(),
         )
示例#19
0
文件: mlist.py 项目: agromsl/mediatum
 def getMaskEditorHTML(self, field, metadatatype=None, language=None):
     value = ""
     try:
         if field:
             value = field.getValues()
     except AttributeError:
         value = field
     return tal.getTAL("metadata/mlist.html", {"value": value}, macro="maskeditor", language=language)
示例#20
0
 def getEditorHTML(self, field, value="", width=40, lock=0, language=None, required=None):
     try:
         values = field.get("valuelist").split(';')
     except AttributeError:
         values = field.split('\r\n')
     while len(values) < 3:
         values.append(u'')
     return tal.getTAL("metadata/hlist.html", {"lock": lock, "startnode": values[0], "attrname": values[1], "onlylast": values[2], "value": value, "width": width, "name": field.getName(), "field": field, "required": self.is_required(required)}, macro="editorfield", language=language)
示例#21
0
 def getEditorHTML(self, field, value="", width=400, lock=0, language=None, required=None):
     return tal.getTAL("metadata/meta.html", {"lock": lock,
                                              "value": value,
                                              "width": width,
                                              "name": field.getName(),
                                              "field": field},
                       macro="editorfield",
                       language=language)
示例#22
0
 def getAdminFieldsHTML(self, values={}):
     return tal.getTAL("metadata/url.html", {
         "valuelist": values["valuelist"],
         "icons": m_url.icons,
         "url_targets": m_url.targets
     },
                       macro="fieldeditor",
                       language=values["language"])
示例#23
0
文件: ilist.py 项目: agromsl/mediatum
 def getSearchHTML(self, context):
     n = context.collection
     valuelist = n.getAllAttributeValues(context.field.getName(), context.access)
     locale.setlocale(locale.LC_COLLATE, '')
     v = []
     for key in sorted(valuelist.keys(), cmp=locale.strcoll):
         v.append((key, valuelist[key]))
     return tal.getTAL("metadata/ilist.html", {"context": context, "valuelist": v}, macro="searchfield", language=context.language)
示例#24
0
文件: date.py 项目: hibozzy/mediatum
 def getMaskEditorHTML(self, field, metadatatype=None, language=None):
     try:
         value = field.getValues()
     except:
         value = ""
     #value = ""
     # if field:
     #    value = field.getValues()
     return tal.getTAL("metadata/date.html", {"value": value, "dateoption": dateoption}, macro="maskeditor", language=language)
示例#25
0
 def getSearchHTML(self, context):
     return tal.getTAL(
         "metadata/dlist.html", {
             "context": context,
             "valuelist": filter(lambda x: x != "",
                                 self.formatValues(context))
         },
         macro="searchfield",
         language=context.language)
示例#26
0
 def getEditorHTML(self, metafield, value="", width=40, lock=0, language=None, required=None):
     return tal.getTAL("metadata/treeselect.html", {"lock": lock,
                                                    "value": value,
                                                    "width": width,
                                                    "name": metafield.getName(),
                                                    "metafield": metafield,
                                                    "required": self.is_required(required)},
                       macro="editorfield",
                       language=language)
示例#27
0
 def getEditorHTML(self, metafield, value="", width=40, lock=0, language=None, required=None):
     return tal.getTAL("metadata/treeselect.html", {"lock": lock,
                                                    "value": value,
                                                    "width": width,
                                                    "name": metafield.getName(),
                                                    "metafield": metafield,
                                                    "required": self.is_required(required)},
                       macro="editorfield",
                       language=language)
示例#28
0
文件: date.py 项目: agromsl/mediatum
 def getMaskEditorHTML(self, field, metadatatype=None, language=None):
     try:
         value = field.getValues()
     except:
         value = ""
     #value = ""
     # if field:
     #    value = field.getValues()
     return tal.getTAL("metadata/date.html", {"value": value, "dateoption": dateoption}, macro="maskeditor", language=language)
示例#29
0
文件: mlist.py 项目: hibozzy/mediatum
 def getMaskEditorHTML(self, field, metadatatype=None, language=None):
     value = ""
     try:
         if field:
             value = field.getValues()
     except AttributeError:
         value = field
     return tal.getTAL("metadata/mlist.html", {"value": value},
                       macro="maskeditor",
                       language=language)
示例#30
0
文件: dlist.py 项目: hibozzy/mediatum
 def getMaskEditorHTML(self, field, metadatatype=None, language=None):
     try:
         value = field.getValues().split("\r\n")
     except:
         value = []
     while len(value) < 5:
         value.append("")  # url(source), name variable, value variable
     return tal.getTAL(
         "metadata/dlist.html", {"value": value, "types": ["json", "list"]}, macro="maskeditor", language=language
     )
示例#31
0
 def getEditorHTML(self, field, value="", width=400, lock=0, language=None, required=None):
     return tal.getTAL("metadata/number.html", {"lock": lock,
                                                "value": value,
                                                "width": width,
                                                "name": field.getName(),
                                                "field": field,
                                                "pattern": self.get_input_pattern(),
                                                "title": self.get_input_title(),
                                                "placeholder": self.get_input_placeholder(),
                                                "required": self.is_required(required)},
                       macro="editorfield",
                       language=language)
示例#32
0
 def render_macro(self, template_name, macro_name, context):
     if template_name.endswith((".j2.jade", ".j2.html")):
         # caller wants a jinja template
         return render_macro(template_name, macro_name, **context)
     elif template_name.endswith(".html"):
         # caller wants a TAL template
         tal_template = self.get_tal_template_path(template_name)
         return tal.getTAL(tal_template, context, macro=macro_name)
     else:
         raise TemplateNotFound(
             "invalid template name (must end with .j2.jade, .j2.html or .html): "
             + template_name)
示例#33
0
 def getEditorHTML(self, field, value="", width=400, lock=0, language=None, required=None):
     value = value.split(";")
     if len(value) < 2:
         value = ["", 0, "black", 0]
     return tal.getTAL("metadata/message.html", {"lock": lock,
                                                 "value": value,
                                                 "width": width,
                                                 "name": field.getName(),
                                                 "field": field,
                                                 "required": self.is_required(required)},
                       macro="editorfield",
                       language=language)
示例#34
0
 def getEditorHTML(self, field, value="", width=400, lock=0, language=None, required=None):
     value = value.split(";")
     if len(value) < 2:
         value = ["", 0, "black", 0]
     return tal.getTAL("metadata/message.html", {"lock": lock,
                                                 "value": value,
                                                 "width": width,
                                                 "name": field.getName(),
                                                 "field": field,
                                                 "required": self.is_required(required)},
                       macro="editorfield",
                       language=language)
示例#35
0
    def getMaskEditorHTML(self, field, metadatatype=None, language=None, required=None):
        try:
            values = field.get("valuelist").split(u';')
        except AttributeError:
            try:
                values = field.split(u'\r\n')
            except AttributeError:
                values = []

        while len(values) < 3:
            values.append(u'')
        return tal.getTAL("metadata/hlist.html", {"value": dict(parentnode=values[0], attrname=values[1], onlylast=values[2])}, macro="maskeditor", language=language)
示例#36
0
 def getEditorHTML(self, field, value="", width=400, lock=0, language=None, required=None):
     return tal.getTAL("metadata/number.html", {"lock": lock,
                                                "value": value,
                                                "width": width,
                                                "name": field.getName(),
                                                "field": field,
                                                "pattern": self.get_input_pattern(),
                                                "title": self.get_input_title(),
                                                "placeholder": self.get_input_placeholder(),
                                                "required": self.is_required(required)},
                       macro="editorfield",
                       language=language)
示例#37
0
文件: dlist.py 项目: hibozzy/mediatum
    def getEditorHTML(self, field, value="", width=400, name="", lock=0, language=None, required=None):
        fielddef = field.getValues().split("\r\n")  # url(source), type, name variable, value variable
        if name == "":
            name = field.getName()
        while len(fielddef) < 5:
            fielddef.append("")

        valuelist = []
        try:
            if fielddef[1] == "json":
                opener = urllib2.build_opener()
                f = opener.open(urllib2.Request(fielddef[0], None, {}))
                data = json.load(f)
                data.sort(lambda x, y: cmp(x[fielddef[2]], y[fielddef[2]]))
                for item in data:
                    valuelist.append(
                        {
                            "select_text": fielddef[4]
                            .replace(fielddef[2], item[fielddef[2]])
                            .replace(fielddef[3], item[fielddef[3]]),
                            "select_value": item[fielddef[3]],
                        }
                    )
                f.close()
            elif fielddef[1] == "list":
                opener = urllib2.build_opener()
                f = opener.open(urllib2.Request(fielddef[0], None, {}))
                for item in f.read().split("\n"):
                    if not item.startswith("#"):
                        if ";" in item:
                            _v, _t = item.split(";")
                        else:
                            _v = _t = item
                        valuelist.append({"select_text": _t.strip(), "select_value": _v.strip()})
                f.close()
        except:
            # enables the field to be added without fields filled in without throwing an exception
            pass
        return tal.getTAL(
            "metadata/dlist.html",
            {
                "lock": lock,
                "name": name,
                "width": width,
                "value": value,
                "valuelist": valuelist,
                "fielddef": fielddef,
                "required": self.is_required(required),
            },
            macro="editorfield",
            language=language,
        )
示例#38
0
 def getMaskEditorHTML(self, field, metadatatype=None, language=None):
     try:
         value = field.getValues().split("\r\n")
     except AttributeError:
         value = []
     while len(value) < 5:
         value.append("")  # url(source), name variable, value variable
     return tal.getTAL("metadata/dlist.html", {
         "value": value,
         "types": ['json', 'list']
     },
                       macro="maskeditor",
                       language=language)
示例#39
0
文件: url.py 项目: mediatum/mediatum
 def getMaskEditorHTML(self, field, metadatatype=None, language=None):
     try:
         value = field.getValues().split("\r\n")
     except AttributeError:
         value = []
     while len(value) < 4:
         value.append("")
     return tal.getTAL("metadata/url.html",
                       {"value": value,
                        "icons": m_url.icons,
                        "url_targets": m_url.targets},
                       macro="maskeditor",
                       language=language)
示例#40
0
文件: ilist.py 项目: hibozzy/mediatum
 def getSearchHTML(self, context):
     n = context.collection
     valuelist = n.getAllAttributeValues(context.field.getName(),
                                         context.access)
     locale.setlocale(locale.LC_COLLATE, '')
     v = []
     for key in sorted(valuelist.keys(), cmp=locale.strcoll):
         v.append((key, valuelist[key]))
     return tal.getTAL("metadata/ilist.html", {
         "context": context,
         "valuelist": v
     },
                       macro="searchfield",
                       language=context.language)
示例#41
0
 def getMaskEditorHTML(self, field, metadatatype=None, language=None):
     try:
         value = field.getValues().split("\r\n")
     except AttributeError:
         value = []
     while len(value) < 4:
         value.append("")
     return tal.getTAL("metadata/url.html", {
         "value": value,
         "icons": m_url.icons,
         "url_targets": m_url.targets
     },
                       macro="maskeditor",
                       language=language)
示例#42
0
文件: meta.py 项目: agromsl/mediatum
    def getMaskEditorHTML(self, field, metadatatype=None, language=None):
        try:
            value = field.getValues().split("\r\n")
        except:
            value = []
        while len(value) < 2:
            value.append('')

        attr = {}
        if metadatatype:
            for t in metadatatype.getDatatypes():
                node = tree.Node(type=t)
                attr.update(node.getTechnAttributes())
            attr['IPTC'] = IPTC.get_wanted_iptc_tags()

        return tal.getTAL("metadata/meta.html", {"value": value, "t_attrs": attr}, macro="maskeditor", language=language)
示例#43
0
    def getMaskEditorHTML(self, field, metadatatype=None, language=None, attr_dict={}):
        try:
            value = field.getValues()
        except AttributeError:
            value = u""

        context = {
            "value": value,
            "additional_attrs": ",".join(self.additional_attrs),
        }

        for attr_name in self.additional_attrs:
            context[attr_name] = ''

        context.update(attr_dict)
        return tal.getTAL("metadata/htmlmemo.html", context, macro="maskeditor", language=language)
示例#44
0
    def getEditorHTML(self, field, value="", width=40, lock=0, language=None, required=None):
        check_context()

        try:
            fieldid = field.id
        except:
            fieldid = None

        try:
            fieldname = field.name
        except:
            fieldname = None

        try:
            warning = [t[1] for t in self.labels[language] if t[0] == 'upload_notarget_warning'][0]
        except:
            warning = [t[1] for t in self.labels[getDefaultLanguage()] if t[0] == 'upload_notarget_warning'][0]

        context = {
            "lock": lock,
            "value": value,
            "width": width,
            "name": field.getName(),
            "field": field,
            "language": language,
            "warning": warning,
            "system_lock": 0,
            "required": self.is_required(required)
        }

        if lock:
            context['system_lock'] = 1

        try:
            if field.get("system.lock"):
                context['system_lock'] = 1
        except:
            pass

        s = tal.getTAL("metadata/upload.html", context, macro="editorfield", language=language)
        if field.getName():
            s = s.replace("____FIELDNAME____", "%s" % field.getName())
        elif fieldname:
            s = s.replace("____FIELDNAME____", "%s" % fieldname)
        else:
            logging.getLogger('backend').warning("metadata: m_upload: no fieldname found")
        return s
示例#45
0
    def getMaskEditorHTML(self, field, metadatatype=None, language=None):
        try:
            value = field.getValues()
        except:
            value = ""
        attr = {}
        if metadatatype:
            for t in metadatatype.getDatatypes():
                node = tree.Node(type=t)
                attr.update(node.getTechnAttributes())

        return tal.getTAL("metadata/meta.html", {
            "value": value,
            "t_attrs": attr
        },
                          macro="maskeditor",
                          language=language)
示例#46
0
文件: list.py 项目: hibozzy/mediatum
 def getMaskEditorHTML(self, field, metadatatype=None, language=None):
     value = ""
     filename = ""
     multiple_list = ""
     try:
         if field:
             value = field.getValues()
             if field.id and len(field.getFiles()) > 0:
                 filename = os.path.basename(field.getFiles()[0].retrieveFile())
                 multiple_list = field.get("multiple")
     except AttributeError:
         value = field
     return tal.getTAL(
         "metadata/list.html",
         {"value": value, "filename": filename, "multiple_list": multiple_list},
         macro="maskeditor",
         language=language,
     )
示例#47
0
文件: url.py 项目: agromsl/mediatum
    def getEditorHTML(self, field, value="", width=400, lock=0, language=None, required=None):
        fielddef = field.getValues().split("\r\n")
        if len(fielddef) != 3:
            fielddef = ("", "", "")
        val = value.split(";")
        # XXX: ???
        if len(val) != 2:
            val = ("", "")

        return tal.getTAL("metadata/url.html", {"lock": lock,
                                                "value": val,
                                                "fielddef": fielddef,
                                                "width": width,
                                                "name": field.getName(),
                                                "field": field,
                                                "required": self.is_required(required)},
                          macro="editorfield",
                          language=language)
示例#48
0
    def getEditorHTML(self, field, value="", width=400, lock=0, language=None, required=None):
        d = field.getSystemFormat(field.getValues())

        if value == "?":
            value = date.format_date(date.now(), d.getValue())
        with suppress(Exception, warn=False):
            value = date.format_date(date.parse_date(value), d.getValue())
        return tal.getTAL("metadata/date.html", {"lock": lock,
                                                 "value": value,
                                                 "width": width,
                                                 "name": field.getName(),
                                                 "field": field,
                                                 "pattern": self.get_input_pattern(field),
                                                 "title": self.get_input_title(field),
                                                 "placeholder": self.get_input_placeholder(field),
                                                 "required": self.is_required(required)},
                          macro="editorfield",
                          language=language)
示例#49
0
 def getMaskEditorHTML(self, field, metadatatype=None, language=None):
     value = u""
     filename = u""
     multiple_list = u""
     try:
         if field:
             value = field.getValues()
             if field.id and len(field.files) > 0:
                 filename = os.path.basename(field.files[0].abspath)
             multiple_list = field.get('multiple')
     except AttributeError:
         value = field
     return tal.getTAL("metadata/list.html", {
         "value": value,
         "filename": filename,
         "multiple_list": multiple_list
     },
                       macro="maskeditor",
                       language=language)
示例#50
0
文件: mlist.py 项目: hibozzy/mediatum
 def getEditorHTML(self,
                   field,
                   value="",
                   width=400,
                   lock=0,
                   language=None,
                   required=None):
     context = Context(field,
                       value=value,
                       width=width,
                       name=field.getName(),
                       lock=lock,
                       language=language)
     return tal.getTAL("metadata/mlist.html", {
         "context": context,
         "valuelist": self.formatValues(context),
         "required": self.is_required(required)
     },
                       macro="editorfield",
                       language=language)
示例#51
0
    def getSearchHTML(self, context):
        # `value_and_count` contains a list of options,
        # each option is represented by a tuple of its name and its count.
        value_and_count = count_list_values_for_all_content_children(
            context.collection.id, context.field.getName())

        # We build three iterators here:
        # `value` contains all option names, properly escaped for HTML.
        # `count` contains the respective count of each option (i.e. its number of occurrences).
        # `ifselected` contains (in the end) empty strings for each option,
        #     but the special string 'selected="selected"' for the one and only selected option.
        #     It is constructed by comparing each value name with the context value
        #     (this leads to many "False" values and one "True" value),
        #     then turning the result into an int (that is 0 or 1),
        #     then multiplying the int with the special string.
        # Note: tee created three iterators that all contain the entries of `value_and_count`.
        ifselected, value, count = _itertools.tee(value_and_count, 3)
        count = _itertools.imap(_operator.itemgetter(1), count)
        value = _itertools.imap(_operator.itemgetter(0), value)
        value = _itertools.imap(_html.escape, value)
        ifselected = _itertools.imap(_operator.itemgetter(0), ifselected)
        ifselected = _itertools.imap(
            _functools.partial(_operator.eq, context.value), ifselected)
        ifselected = _itertools.imap(int, ifselected)
        ifselected = _itertools.imap(
            _functools.partial(_operator.mul, 'selected="selected" '),
            ifselected)

        # Now we apply all iterators to the format function
        # and create the long HTML option list.
        format_option = u'<option {0}value="{1}">{1} ({2})</option>\n'.format
        option_list = u"".join(
            _itertools.starmap(format_option,
                               _itertools.izip(ifselected, value, count)))

        return tal.getTAL("metadata/ilist.html", {
            "context": context,
            "option_list": option_list,
        },
                          macro="searchfield",
                          language=context.language)
示例#52
0
文件: text.py 项目: agromsl/mediatum
    def getEditorHTML(self, field, value="", width=40, lock=0, language=None, required=None):
        lang = None
        languages = config.get("i18n.languages")
        if language is None:
            language = languages.split(",")[0].strip()
        if field.getValues() and "multilingual" in field.getValues():
            lang = [l.strip() for l in languages.split(',') if (l != language)]
        valueList = value.split("\n")
        values = dict()
        i = 0
        while i + 1 < len(valueList):
            values[valueList[i] + "__" + field.getName()] = valueList[i + 1]
            i = i + 2

        if language:
            defaultlang = language
        elif lang:
            defaultlang = lang[0]
        else:
            defaultlang = ""

        try:
            field_node_name = field.name
        except:
            field_node_name = None

        context = {
            "lock": lock,
            "values": values,
            "value": value,
            "width": width,
            "name": field_node_name,
            "field": field,
            "ident": field.id if field.id else "",
            "languages": lang,
            "defaultlang": defaultlang,
            "expand_multilang": True if value.find('\n') != -1 else False,
            "required": self.is_required(required),
            "required_multilang": True if value.find('\n') != -1 and self.is_required(required) else None,
        }
        return tal.getTAL("metadata/text.html", context, macro="editorfield", language=language)
示例#53
0
    def html(self, req):
        paths = ""
        stylebig = self.getContentStyles()
        liststyle = req.session.get("style-" + self.node.getContentType(), "")

        if not self.node.isContainer():
            plist = getPaths(self.node, AccessData(req))
            paths = tal.getTAL(theme.getTemplate("content_nav.html"), {"paths": plist}, macro="paths", language=lang(req))
        # render style of node for nodebig
        if len(stylebig) > 1:
            # more than on style found
            for item in stylebig:
                if liststyle:
                    if item.getName() == liststyle.getName():
                        return getFormatedString(self.node.show_node_big(req, template=item.getTemplate())) + paths
                else:
                    if item.isDefaultStyle():
                        return getFormatedString(self.node.show_node_big(req, template=item.getTemplate())) + paths
        elif len(stylebig) == 1:
            return getFormatedString(self.node.show_node_big(req, template=stylebig[0].getTemplate())) + paths
        return getFormatedString(self.node.show_node_big(req)) + paths
示例#54
0
文件: url.py 项目: mediatum/mediatum
    def getEditorHTML(self, field, value="", width=400, lock=0, language=None, required=None):
        fielddef = field.getValues().split("\r\n")
        if len(fielddef) != 3:
            fielddef = ("", "", "")
        # separate url and urltext
        val = value.split(";")
        if len(val) == 1:
            # only url given
            val = [val[0], ""]
        elif len(val) > 2:
            val = val[0:2]

        return tal.getTAL("metadata/url.html", {"lock": lock,
                                                "value": val,
                                                "fielddef": fielddef,
                                                "width": width,
                                                "name": field.getName(),
                                                "field": field,
                                                "required": self.is_required(required)},
                          macro="editorfield",
                          language=language)
示例#55
0
def mkfilelist(targetnode,
               files,
               deletebutton=0,
               language=None,
               request=None,
               macro="m_upload_filelist"):
    if request:
        return request.getTAL("metadata/upload.html", {
            "files": files,
            "node": targetnode,
            "delbutton": deletebutton
        },
                              macro=macro)
    else:
        return tal.getTAL("metadata/upload.html", {
            "files": files,
            "node": targetnode,
            "delbutton": deletebutton
        },
                          macro=macro,
                          language=language)
示例#56
0
文件: date.py 项目: agromsl/mediatum
    def getEditorHTML(self, field, value="", width=400, lock=0, language=None, required=None):
        d = field.getSystemFormat(str(field.getValues()))

        if value == "?":
            value = date.format_date(date.now(), d.getValue())
        try:
            value = date.format_date(date.parse_date(value), d.getValue())
        except:
            pass

        return tal.getTAL("metadata/date.html", {"lock": lock,
                                                 "value": value,
                                                 "width": width,
                                                 "name": field.getName(),
                                                 "field": field,
                                                 "pattern": self.get_input_pattern(field),
                                                 "title": self.get_input_title(field),
                                                 "placeholder": self.get_input_placeholder(field),
                                                 "required": self.is_required(required)},
                          macro="editorfield",
                          language=language)
示例#57
0
文件: meta.py 项目: mediatum/mediatum
    def getMaskEditorHTML(self, field, metadatatype=None, language=None):
        try:
            value = field.getValues().split("\r\n")
        except AttributeError:
            #value = u""
            value = []
            while len(value) < 2:
                value.append('')

        attr = {}
        if metadatatype:
            for t in metadatatype.getDatatypes():
                content_class = Node.get_class_for_typestring(t)
                node = content_class(name=u'')
                try:
                    attr.update(node.getTechnAttributes())
                    attr['IPTC'] = get_wanted_iptc_tags()
                except AttributeError:
                    logg.exception("attribute error in getMaskEditorHTML, continue")
                    continue

        return tal.getTAL("metadata/meta.html", {"value": value, "t_attrs": attr}, macro="maskeditor", language=language)
示例#58
0
def talpizza():
    piz = Pizza()
    return getTAL("templates/pizza_tal.html", dict(pizza=piz))
示例#59
0
文件: meta.py 项目: agromsl/mediatum
 def getSearchHTML(self, context):
     return tal.getTAL("metadata/meta.html", {"context": context}, macro="searchfield", language=context.language)