From ff82b2bc495598a749f7c1ce8405c80526fa7dd0 Mon Sep 17 00:00:00 2001 From: Helmut Merz Date: Mon, 9 Apr 2012 13:44:15 +0200 Subject: [PATCH 1/3] make sure datatable-based vocabulary is also usable in management interface --- table.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/table.py b/table.py index ce9fcff..28faa9b 100644 --- a/table.py +++ b/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) - context = instance.view.nodeView.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)) From a67bb15dd084d830871268025a950863d99f79ab Mon Sep 17 00:00:00 2001 From: Helmut Merz Date: Mon, 9 Apr 2012 13:45:02 +0200 Subject: [PATCH 2/3] quick fix: hide top spacing in text fields in reports --- expert/field.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/expert/field.py b/expert/field.py index 567e6e4..c4b94cf 100644 --- a/expert/field.py +++ b/expert/field.py @@ -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' Date: Sat, 14 Apr 2012 11:49:59 +0200 Subject: [PATCH 3/3] unify create and edit forms; i18n fix: check session --- browser/form.py | 3 +++ browser/form_macros.pt | 27 ++++++++++++++------------- i18n/browser.py | 4 ++++ 3 files changed, 21 insertions(+), 13 deletions(-) diff --git a/browser/form.py b/browser/form.py index ad73acf..ce3cd2e 100644 --- a/browser/form.py +++ b/browser/form.py @@ -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 diff --git a/browser/form_macros.pt b/browser/form_macros.pt index f39b0a9..eeec0bd 100644 --- a/browser/form_macros.pt +++ b/browser/form_macros.pt @@ -71,18 +71,19 @@ - -
+
-