provide simple object info page (as modal dialog)

git-svn-id: svn://svn.cy55.de/Zope3/src/loops/trunk@2571 fd906abe-77d9-0310-91a1-e0d9ade77398
This commit is contained in:
helmutm 2008-05-01 18:59:42 +00:00
parent 1d375d5a5f
commit 89745445e2
6 changed files with 55 additions and 30 deletions

View file

@ -98,14 +98,16 @@ class DialogAction(Action):
actions.register('info', 'object', DialogAction,
description=_(u'Information about this object.'),
viewName='object_info.html',
dialogName='object_info',
#dialogName='object_info',
dialogName='',
icon='cybertools.icons/info.png',
cssClass='icon-action',
addParams=dict(version='this')
)
actions.register('external_edit', 'object', TargetAction,
description=_(u'Edit with external editor.'),
viewName='external_edit?version=this',
viewName='external_edit',
icon='edit.gif',
cssClass='icon-action',
)

View file

@ -138,7 +138,7 @@
</td>
</tal:version>
<td style="text-align: right; white-space: nowrap">
<span tal:replace="related/context/sizeForDisplay">Type</span>
<span tal:replace="related/context/sizeForDisplay">2 MB</span>
</td>
<td><span tal:replace="related/modified">2007-03-30</span></td>
<td><span tal:replace="related/creators">John</span></td>

46
browser/info.pt Normal file
View file

@ -0,0 +1,46 @@
<!-- object information -->
<metal:info define-macro="object_info"
tal:define="item nocall:view/item">
<table class="object_info">
<tr>
<td colspan="2"><h2 i18n:translate="">Object Information</h2><br /></td>
</tr>
<tr>
<td><span i18n:translate="">Title</span>:</td>
<td tal:content="item/title"></td>
</tr>
<tr>
<td><span i18n:translate="">Description</span>:</td>
<td tal:content="item/description"></td>
</tr>
<tr>
<td><span i18n:translate="">Name</span>:</td>
<td tal:content="item/context/__name__"></td>
</tr>
<tr>
<td><span i18n:translate="">Type</span>:</td>
<td tal:content="item/longTypeTitle"></td>
</tr>
<tr>
<td><span i18n:translate="">Size</span>:</td>
<td tal:content="item/context/sizeForDisplay"></td>
</tr>
<tr>
<td><span i18n:translate="">modified</span>:</td>
<td tal:content="item/modified"></td>
</tr>
<tr>
<td><span i18n:translate="">Creators</span>:</td>
<td tal:content="item/creators"></td>
</tr>
<tr>
<td colspan="2"><br />
<input type="button" value="Close" onclick="closeDialog()"
i18n:attributes="value" />
</td>
</tr>
</table>
</metal:info>

View file

@ -105,14 +105,14 @@ function setConceptTypeForComboBox(typeId, cbId) {
}
var dialog;
var dialogName
var dialogName;
function objectDialog(dlgName, url) {
dojo.require('dijit.Dialog');
dojo.require('dojo.parser');
dojo.require('dijit.form.FilteringSelect');
dojo.require('dojox.data.QueryReadStore');
if (dialogName == undefined || dialogName != dlgName) {
if (dialogName == undefined || dialogName != dlgName || dialogName == '') {
if (dialog != undefined) {
dialog.destroyRecursive();
}

View file

@ -64,6 +64,7 @@ from loops.versioning.util import getVersion
node_macros = ViewPageTemplateFile('node_macros.pt')
info_macros = ViewPageTemplateFile('info.pt')
class NodeView(BaseView):
@ -375,25 +376,6 @@ class NodeView(BaseView):
if target is not None:
return BaseView(target, self.request).url
# states information
@Lazy
def xxx_states(self):
result = []
if not checkPermission('loops.ManageSite', self.context):
# TODO: replace by more sensible permission
return result
target = self.virtualTargetObject
#statesDefs = ['loops.classification_quality', 'loops.simple_publishing']
if IResource.providedBy(target):
statesDefs = self.globalOptions('organize.stateful.resource', ())
else:
statesDefs = ()
for std in statesDefs:
stf = component.getAdapter(target, IStateful, name=std)
result.append(stf)
return result
# target viewing and editing support
def getUrlForTarget(self, target):
@ -489,7 +471,7 @@ class ObjectInfo(NodeView):
@property
def macro(self):
return self.template.macros['object_info']
return info_macros.macros['object_info']
@Lazy
def dialog_name(self):

View file

@ -218,11 +218,6 @@
<!-- inner HTML macros -->
<metal:info define-macro="object_info">
<div>Object Information</div>
</metal:info>
<div metal:define-macro="inline_edit"
class="content-1" id="1.body">
<form action="." method="post" id="1.form">