diff --git a/browser/action.py b/browser/action.py index e7ab214..a964fe2 100644 --- a/browser/action.py +++ b/browser/action.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2009 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 @@ -18,8 +18,6 @@ """ Base classes (sort of views) for action portlet items. - -$Id$ """ from urllib import urlencode @@ -75,7 +73,6 @@ class DialogAction(Action): @Lazy def url(self): - #return '%s/%s' % (self.page.getUrlForTarget(self.view), self.viewName) if self.target is not None: url = self.page.getUrlForTarget(self.target) else: @@ -96,9 +93,6 @@ class DialogAction(Action): if self.viewTitle: urlParams['view_title'] = self.viewTitle urlParams.update(self.addParams) - #url = self.page.getUrlForTarget(self.view) - #return self.jsOnClick % (self.dialogName, url, self.viewName, - # urlencode(urlParams)) if self.target is not None: url = self.page.getUrlForTarget(self.target) else: @@ -116,7 +110,6 @@ class DialogAction(Action): actions.register('info', 'object', DialogAction, description=_(u'Information about this object.'), viewName='object_info.html', - #dialogName='object_info', dialogName='', icon='cybertools.icons/info.png', cssClass='icon-action', @@ -152,8 +145,6 @@ actions.register('create_concept', 'portlet', DialogAction, viewName='create_concept.html', dialogName='createConcept', qualifier='create_concept', - #typeToken='.loops/concepts/topic', - #fixedType=True, innerForm='inner_concept_form.html', ) diff --git a/browser/form.py b/browser/form.py index f30b120..99ead4c 100644 --- a/browser/form.py +++ b/browser/form.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2010 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 @@ -18,8 +18,6 @@ """ Classes for form presentation and processing. - -$Id$ """ from zope import component, interface, schema @@ -561,8 +559,8 @@ class EditObject(FormController, I18NView): if k.startswith('state.'): stateKeys.append(k) self.collectAutoConcepts() - if self.old or self.selected: - self.assignConcepts(obj) + #if self.old or self.selected: + self.assignConcepts(obj) for k in stateKeys: self.updateState(k) notify(ObjectModifiedEvent(obj)) @@ -641,7 +639,6 @@ class EditObject(FormController, I18NView): form = self.request.form if form.get('version.create'): versionable = IVersionable(obj) - #level = int(form.get('version.level', 1)) level = int(form.get('version.level', 0)) version = versionable.createVersion(level) notify(ObjectCreatedEvent(version)) @@ -712,8 +709,6 @@ class EditConcept(EditObject): obj.deassignParent(concept, predicates) def update(self): - #self.object = self.view.virtualTargetObject - #self.object = self.view.item.context self.object = self.view.item.target formState = self.updateFields() self.view.formState = formState diff --git a/browser/lobo/configure.zcml b/browser/lobo/configure.zcml index e24df89..d179e44 100644 --- a/browser/lobo/configure.zcml +++ b/browser/lobo/configure.zcml @@ -23,6 +23,14 @@ factory="loops.browser.lobo.standard.Grid3" permission="zope.View" /> + + + +

- +
diff --git a/browser/lobo/standard.py b/browser/lobo/standard.py index fe2b937..b70d4eb 100644 --- a/browser/lobo/standard.py +++ b/browser/lobo/standard.py @@ -202,6 +202,13 @@ class Grid3(BasePart): gridPattern = ['span-2 clear', 'span-2', 'span-2 last'] +class ListThumbs(BasePart): + + macroName = 'list' + imageSize = 'minithumb' + gridPattern = [['span-1 clear', 'span-5 last']] + + class List1(BasePart): macroName = 'list' @@ -224,6 +231,13 @@ class Header0(BasePart): cssClass = ['', 'span-6 last', 'clear'] +class HeaderThumbs(BasePart): + + macroName = 'header' + imageSize = 'minithumb' + cssClass = ['span-1', 'span-5 last', 'clear'] + + class Header1(BasePart): macroName = 'header' diff --git a/browser/loops.css b/browser/loops.css index e4790e5..a58473d 100644 --- a/browser/loops.css +++ b/browser/loops.css @@ -1,5 +1,4 @@ /* - $Id$ settings specific for view / node objects @@ -467,6 +466,20 @@ div.comment { padding-top: 0.4em; } +/* microart */ + +.micropart { + background-color: #f7f7f7; + padding: 0 5px 0 5px; + margin: 5px 0 5px 0; +} + +.micropart h3,h4,h5 { + font-weight: bold; + margin-bottom: 0.2em; + border-bottom: none; +} + /* calendar, work items */ .today { diff --git a/browser/skin/controller.py b/browser/skin/controller.py index 29418cf..f9e4a85 100644 --- a/browser/skin/controller.py +++ b/browser/skin/controller.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 @@ -34,7 +34,7 @@ class Controller(BaseController): def setupMetadata(self): macros = self.macros - target = self.view.virtualTarget + target = getattr(self.view, 'virtualTarget', None) if target is not None: desc = target.dcDescription if desc: diff --git a/browser/skin/lobo/lobo.css b/browser/skin/lobo/lobo.css index 5a4f624..97949b4 100644 --- a/browser/skin/lobo/lobo.css +++ b/browser/skin/lobo/lobo.css @@ -484,6 +484,12 @@ img.notselected { margin-top: 5px; } +/* no vertical spacing for descriptions in grids */ +div.legend i p { + margin-top: 0; + margin-bottom: 0; +} + /* comments */ div.comment { diff --git a/compound/microart/browser.py b/compound/microart/browser.py index 816bc30..b9359fc 100755 --- a/compound/microart/browser.py +++ b/compound/microart/browser.py @@ -26,12 +26,32 @@ from zope import component from zope.app.pagetemplate import ViewPageTemplateFile from zope.cachedescriptors.property import Lazy +from loops.browser.action import actions, DialogAction from loops.browser.concept import ConceptView from loops.common import adapted from loops import util from loops.util import _ +actions.register('create_microart', 'portlet', DialogAction, + title=_(u'Create MicroArticle...'), + description=_(u'Create a new MicroArticle.'), + viewName='create_concept.html', + dialogName='createConcept', + typeToken='.loops/concepts/microart', + fixedType=True, + #prerequisites=['registerDojoTextWidget'], +) + +actions.register('edit_microart', 'portlet', DialogAction, + title=_(u'Edit MicroArticle...'), + description=_(u'Modify MicroArticle.'), + viewName='edit_concept.html', + dialogName='editConcept', + #prerequisites=['registerDojoTextWidget'], +) + + view_macros = ViewPageTemplateFile('view_macros.pt') diff --git a/locales/de/LC_MESSAGES/loops.mo b/locales/de/LC_MESSAGES/loops.mo index bbd6148..0a47ea7 100644 Binary files a/locales/de/LC_MESSAGES/loops.mo and b/locales/de/LC_MESSAGES/loops.mo differ diff --git a/locales/de/LC_MESSAGES/loops.po b/locales/de/LC_MESSAGES/loops.po index a5bea16..ffdfd5f 100644 --- a/locales/de/LC_MESSAGES/loops.po +++ b/locales/de/LC_MESSAGES/loops.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: $Id$\n" "POT-Creation-Date: 2007-05-22 12:00 CET\n" -"PO-Revision-Date: 2011-12-02 12:00 CET\n" +"PO-Revision-Date: 2012-02-16 12:00 CET\n" "Last-Translator: Helmut Merz \n" "Language-Team: loops developers \n" "MIME-Version: 1.0\n" @@ -108,6 +108,24 @@ msgstr "Tagebuch exportieren" # micro article +msgid "Edit MicroArticle..." +msgstr "MikroArtikel bearbeiten..." + +msgid "Edit MicroArticle" +msgstr "MikroArtikel bearbeiten" + +msgid "Modify MicroArticle." +msgstr "MikroArtikel ändern." + +msgid "Create MicroArticle..." +msgstr "MikroArtikel anlegen..." + +msgid "Create a new MicroArticle." +msgstr "Einen neuen MikroArtikel erzeugen" + +msgid "Create MicroArticle" +msgstr "MikroArtikel anlegen" + msgid "Story" msgstr "Story" diff --git a/organize/comment/browser.py b/organize/comment/browser.py index 1d6acad..1a46402 100644 --- a/organize/comment/browser.py +++ b/organize/comment/browser.py @@ -57,7 +57,8 @@ class CommentsView(NodeView): @Lazy def addUrl(self): - return '%s/create_comment.html' % self.getUrlForTarget(self.context) + return '%s/create_comment.html' % self.virtualTargetUrl + #return '%s/create_comment.html' % self.getUrlForTarget(self.context) @Lazy def addOnClick(self):