Merge branch 'master' into bbmaster
This commit is contained in:
commit
ba108d4625
5 changed files with 39 additions and 18 deletions
|
@ -149,6 +149,9 @@ class ObjectForm(NodeView):
|
|||
|
||||
@Lazy
|
||||
def data(self):
|
||||
return self.getData()
|
||||
|
||||
def getData(self):
|
||||
instance = self.instance
|
||||
data = instance.applyTemplate(mode='edit')
|
||||
form = self.request.form
|
||||
|
|
|
@ -71,18 +71,19 @@
|
|||
</form>
|
||||
|
||||
|
||||
<metal:block define-macro="create" i18n:domain="loops">
|
||||
<div dojoType="dijit.layout.BorderContainer"
|
||||
style="width: 70em; height: 600px"
|
||||
tal:omit-tag="not:view/isInnerHtml">
|
||||
<form method="post" enctype="multipart/form-data"
|
||||
<form metal:define-macro="create" i18n:domain="loops"
|
||||
method="post" enctype="multipart/form-data"
|
||||
id="dialog_form" class="dialog"
|
||||
dojoType="dijit.form.Form"
|
||||
tal:define="qualifier request/qualifier|view/qualifier|string:resource;
|
||||
innerForm request/inner_form|view/inner_form|string:inner_form.html;
|
||||
typeToken view/typeToken;
|
||||
fixedType view/fixedType;
|
||||
langInfo view/languageInfo;
|
||||
language langInfo/language">
|
||||
<div dojoType="dijit.layout.BorderContainer"
|
||||
style="width: 70em; height: 600px"
|
||||
tal:omit-tag="not:view/isInnerHtml">
|
||||
<div dojoType="dijit.layout.ContentPane" region="center"
|
||||
tal:omit-tag="not:view/isInnerHtml">
|
||||
<input type="hidden" name="form.action" value="create"
|
||||
|
@ -113,6 +114,7 @@
|
|||
tal:condition="fixedType"
|
||||
tal:attributes="value typeToken" />
|
||||
<script type="text/javascript"
|
||||
tal:condition="not:fixedType"
|
||||
tal:content="string:replaceFieldsNode(
|
||||
'form.fields', 'form.type',
|
||||
'${view/virtualTargetUrl}/$innerForm')">
|
||||
|
@ -135,9 +137,8 @@
|
|||
</table>
|
||||
</div>
|
||||
<div metal:use-macro="view/template/macros/buttons" />
|
||||
</form>
|
||||
</div>
|
||||
</metal:block>
|
||||
</form>
|
||||
|
||||
|
||||
<metal:assignments define-macro="assignments"
|
||||
|
|
|
@ -39,7 +39,17 @@ class TextField(Field):
|
|||
|
||||
def getDisplayValue(self, row):
|
||||
value = self.getValue(row)
|
||||
return row.parent.context.view.renderText(value, self.format)
|
||||
text = row.parent.context.view.renderText(value, self.format)
|
||||
text = self.removeTopSpacing(text)
|
||||
return text
|
||||
|
||||
def removeTopSpacing(self, text):
|
||||
styleInfo = u' style="margin-top: 0"'
|
||||
for tag in (u'<p', u'<ol', u'<ul'):
|
||||
if text.startswith(tag):
|
||||
text = tag + styleInfo + text[len(tag):]
|
||||
break
|
||||
return text
|
||||
|
||||
|
||||
class DecimalField(Field):
|
||||
|
|
|
@ -62,6 +62,10 @@ class LanguageInfo(object):
|
|||
if len(available) == 1:
|
||||
return available[0]
|
||||
lang = self.request.get('loops.language')
|
||||
if lang is not None and lang in available:
|
||||
return lang
|
||||
session = ISession(self.request)[packageId]
|
||||
lang = session.get('language')
|
||||
if lang is not None and lang in available:
|
||||
return lang
|
||||
return (negotiator.getLanguage(available, self.request)
|
||||
|
|
7
table.py
7
table.py
|
@ -1,5 +1,5 @@
|
|||
#
|
||||
# Copyright (c) 2011 Helmut Merz helmutm@cy55.de
|
||||
# Copyright (c) 2012 Helmut Merz helmutm@cy55.de
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
|
@ -29,6 +29,7 @@ from zope.schema.interfaces import IContextSourceBinder, IIterableSource
|
|||
|
||||
from cybertools.composer.schema.factory import SchemaFactory
|
||||
from cybertools.composer.schema.grid.interfaces import KeyTable
|
||||
from cybertools.composer.interfaces import IInstance
|
||||
from loops.common import AdapterBase, adapted, baseObject
|
||||
from loops.interfaces import IConcept, IConceptSchema, ILoopsAdapter
|
||||
from loops.type import TypeInterfaceSourceList
|
||||
|
@ -111,8 +112,10 @@ class DataTableSourceBinder(object):
|
|||
self.tableName = tableName
|
||||
|
||||
def __call__(self, instance):
|
||||
#context = baseObject(instance.context)
|
||||
if IInstance.providedBy(instance):
|
||||
context = instance.view.nodeView.context
|
||||
else:
|
||||
context = baseObject(instance.context)
|
||||
dt = context.getLoopsRoot().getConceptManager()[self.tableName]
|
||||
return DataTableSourceList(adapted(dt))
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue