def subject_vocab(context): """Provides a list of subject keywords""" ctool = getUtility(ICatalogTool) values = [SimpleTerm(u'', '', _(u"-- any --"))] values += [SimpleTerm(v, v.encode('hex'), decode(v)) for v in ctool.uniqueValuesFor('Subject')] return SimpleVocabulary(values)
def status_vocab(context): """Provides a list of workflow states""" ctool = getUtility(ICatalogTool) values = [SimpleTerm(u'', '', _(u"-- any --"))] values += [ SimpleTerm(v, str(v), _(decode(v))) for v in ctool.uniqueValuesFor('review_state') ] return SimpleVocabulary(values)
def type_vocab(context): """Provides a list of portal types""" ttool = getUtility(ITypesTool) types = ttool.listTypeInfo() terms = [SimpleTerm(u'', '', _(u"-- any --"))] terms += [ SimpleTerm(t.getId(), t.getId(), decode(t.Title())) for t in types ] return SimpleVocabulary(terms)
def page_title(self): site_title = self.portal_title page_title = self.object_title if page_title != site_title: page_title = site_title + ": " + page_title return decode(page_title, self.context)
form = context.REQUEST.form if add and \ context.validateType(**form) and \ context.validateId(**form) and \ context.folder_add_control(**form): return options = {} items = [] type_name = form.get('type_name', None) for item in context.allowedContentTypes(): item_id = item.getId() items.append({ 'checked': type_name == item_id, 'description': item.Description(), 'id': item_id, 'radio': 'cb_%s' % item_id.replace(' ', '_'), 'title': item.Title() }) if len(items) == 1: items[0]['checked'] = True options['batch'] = {'listItemInfos': tuple(items)} target = context.getActionInfo('object/new')['url'] id = form.get('id', '') options['form'] = {'action': target, 'id': id} return context.folder_factories_template(**decode(options, script))
ptool = getToolByInterfaceName(script, 'Products.CMFCore.interfaces.IPropertiesTool') utool = getToolByInterfaceName(script, 'Products.CMFCore.interfaces.IURLTool') portal_url = utool() options = {} options['portal_title'] = ptool.title() options['portal_description'] = ptool.getProperty('description') options['portal_url'] = portal_url member_id = member and member.getId() or 'foo' options['member_id'] = member_id options['password'] = password target = atool.getActionInfo('user/login')['url'] options['login_url'] = '%s' % target email_from_name = ptool.getProperty('email_from_name') options['signature'] = email_from_name headers = {} headers['Subject'] = _(u'${portal_title}: Your Membership Information', mapping={'portal_title': decode(ptool.title(), script)}) headers['From'] = '%s <%s>' % (email_from_name, ptool.getProperty('email_from_address')) headers['To'] = '<%s>' % email mtext = context.registered_email_template(**decode(options, script)) return makeEmail(mtext, script, headers)
def getKids(object): return object.talkback.getReplies() tm.setChildAccess(function=getKids) tree, rows = tm.cookieTree(tree_root) rows.pop(0) is_delete_allowed = mtool.checkPermission(ManagePortal, context) items = [] for row in rows: branch = row.branch() item = row.object item_icon = item.getIcon(1) item_url = item.absolute_url() items.append({'tree_colspan': tree.height - row.depth, 'tree_icon': branch and branch['img'] or '', 'tree_id': row.id, 'tree_indent': row.depth - 1, 'tree_url': branch and branch['link'] or '', 'creators': item.listCreators(), 'date': item.CreationDate(), 'delete_url': is_delete_allowed and \ ('%s/discitem_delete' % item_url) or '', 'icon': item_icon and \ ('%s/%s' % (portal_url, item_icon)) or '', 'title': item.Title(), 'url': item_url}) return decode(tuple(items), context)
def status_message(self): message = self.request.form.get("portal_status_message") if message is not None: message = decode(message, self.context) return message
def status_message(self): message = self.request.form.get('portal_status_message') if message is not None: message = decode(message, self.context) return message
context.validateHTML(**form): is_preview = True options = {} title = form.get('title', context.Title()) text = form.get('text', '') options['is_preview'] = is_preview options['title'] = title options['text'] = text options['cooked_text'] = structured_text(text) if is_preview: hidden_vars = [ {'name': n, 'value': v} for n, v in html_marshal(title=title, text=text) ] else: hidden_vars = [] buttons = [] target = atool.getActionInfo('object/reply', context)['url'] buttons.append( {'name': 'add', 'value': _(u'Add')} ) if is_preview: buttons.append( {'name': 'edit', 'value': _(u'Edit')} ) else: buttons.append( {'name': 'preview', 'value': _(u'Preview')} ) options['form'] = { 'action': target, 'listHiddenVarInfos': tuple(hidden_vars), 'listButtonInfos': tuple(buttons) } return context.discussion_reply_template(**decode(options, script))
del kw[k] elif k in ('created',): if v['query'] == epoch and v['range'] == 'min': del kw[k] else: # work around problems with DateTime in records kw[k] = v.copy() elif k in ('go', 'go.x', 'go.y', 'b_start'): del kw[k] items = ctool.searchResults(kw) batch_obj = Batch(items, 25, b_start, orphan=1) items = [ {'description': item.Description, 'icon': item.getIcon, 'title': item.Title, 'type': item.Type, 'date': item.Date, 'url': item.getURL()+'/view'} for item in batch_obj ] length = batch_obj.sequence_length summary = { 'length': length and thousands_commas(length) or '', 'type': (length == 1) and _(u'item') or _(u'items'), 'match': kw.get('SearchableText') } navigation = context.getBatchNavigation(batch_obj, target, **kw) options['batch'] = { 'summary': summary, 'listItemInfos': tuple(items), 'navigation': navigation } return context.search_results_template(**decode(options, script))
##parameters= ## from Products.CMFCore.utils import getToolByName from Products.CMFDefault.utils import decode stool = getToolByName(script, 'portal_syndication') options = {} s_site_allowed = stool.isSiteSyndicationAllowed() s_here_allowed = stool.isSyndicationAllowed(context) options['title'] = context.Title() options['description'] = context.Description() options['s_site_allowed'] = s_site_allowed options['s_here_allowed'] = s_here_allowed options['s_allowed'] = s_site_allowed and s_here_allowed options['s_tool'] = stool return context.synPropertiesForm_template(**decode(options, script))
##parameters=member=None, password='******' ## from Products.CMFCore.utils import getToolByName from Products.CMFDefault.utils import decode atool = getToolByName(script, 'portal_actions') ptool = getToolByName(script, 'portal_properties') utool = getToolByName(script, 'portal_url') default_charset = ptool.getProperty('default_charset') portal_url = utool() options = {} email_from_name = ptool.getProperty('email_from_name') email_from_address = ptool.getProperty('email_from_address') options['portal_address'] = '%s <%s>' % (email_from_name, email_from_address) member_address = member and member.email or '*****@*****.**' options['member_address'] = '<%s>' % member_address options['content_type'] = 'text/plain; charset=%s' % default_charset options['portal_title'] = ptool.title() options['password'] = password rendered = context.password_email_template(**decode(options, script)) if isinstance(rendered, unicode): return rendered.encode(default_charset) else: return rendered
##parameters= ## from Products.CMFDefault.utils import decode options = {} options['title'] = context.Title() options['description'] = context.Description() options['image'] = context.tag() return context.image_view_template(**decode(options, script))
form = context.REQUEST.form if change and \ context.change_password(**form) and \ context.setRedirect(atool, 'user/preferences'): return elif cancel and \ context.setRedirect(atool, 'user/preferences'): return options = {} is_first_login = ( member.getProperty('last_login_time') == DateTime('1999/01/01')) options['is_first_login'] = is_first_login if is_first_login: options['title'] = _(u'Welcome!') options['portal_title'] = ptool.getProperty('title') else: options['title'] = _(u'Change your Password') options['member_id'] = member.getId() options['domains'] = ' '.join(member.getDomains()) buttons = [] target = '%s/password_form' % portal_url buttons.append({'name': 'change', 'value': _(u'Change')}) if not is_first_login: buttons.append({'name': 'cancel', 'value': _(u'Cancel')}) options['form'] = {'action': target, 'listButtonInfos': tuple(buttons)} return context.password_form_template(**decode(options, script))
## Script (Python) "expanded_title" ##parameters= ##title=Build title which includes site title ## from Products.CMFCore.utils import getToolByInterfaceName from Products.CMFDefault.utils import decode utool = getToolByInterfaceName(script, 'Products.CMFCore.interfaces.IURLTool') site_title = utool.getPortalObject().Title() page_title = context.Title() if page_title != site_title: page_title = site_title + ": " + page_title return decode(page_title, script)
options = {} options['title'] = context.Title() is_review_allowed = mtool.checkPermission(ReviewPortalContent, context) options['is_review_allowed'] = is_review_allowed options['listAvailableSubjects'] = ctool.uniqueValuesFor('Subject') created = [] today = context.ZopeTime().earliestTime() created.append({'value': '1970/01/01 00:00:01 GMT', 'title': _(u'Ever')}) if not mtool.isAnonymousUser(): member = mtool.getAuthenticatedMember() created.append({ 'value': member.getProperty('last_login_time'), 'title': _(u'Last login') }) created.append({'value': (today - 1).Date(), 'title': _(u'Yesterday')}) created.append({'value': (today - 7).Date(), 'title': _(u'Last week')}) created.append({'value': (today - 31).Date(), 'title': _(u'Last month')}) options['listCreatedInfos'] = tuple(created) options['listTypeInfos'] = ttool.listTypeInfo() buttons = [] target = '%s/search' % portal_url buttons.append({'name': 'search', 'value': _(u'Search')}) options['form'] = {'action': target, 'listButtonInfos': tuple(buttons)} return context.search_form_template(**decode(options, script))
elif k in ('created',): if v['query'] == epoch and v['range'] == 'min': del kw[k] else: # work around problems with DateTime in records kw[k] = v.copy() elif k in ('go', 'go.x', 'go.y', 'b_start'): del kw[k] items = ctool.searchResults(kw) batch_obj = Batch(items, 25, b_start, orphan=1) items = [ {'description': item.Description, 'icon': item.getIconURL, 'title': item.Title, 'type': item.Type, 'date': item.Date, 'url': item.getURL()+'/view'} for item in batch_obj ] length = batch_obj.sequence_length summary = { 'length': length and thousands_commas(length) or '', 'l2': length, 'type': (length == 1) and _(u'item') or _(u'items'), 'match': kw.get('SearchableText') } navigation = context.getBatchNavigation(batch_obj, target, **kw) options['batch'] = { 'summary': summary, 'listItemInfos': tuple(items), 'navigation': navigation } return context.search_results_template(**decode(options, script))
portal_object, 'portal_title': portal_object.Title(), 'object_title': context.Title(), 'object_description': context.Description(), 'portal_url': utool(), 'member': member, 'membername': isAnon and 'Guest' or (member.getProperty('fullname') or member.getId()), 'membersfolder': mtool.getMembersFolder(), 'isAnon': isAnon, 'wf_state': wtool.getInfoFor(context, 'review_state', ''), 'show_actionicons': ptool.getProperty('enable_actionicons'), 'status_message': message, 'search_form_url': atool.getActionInfo('global/search_form')['url'], 'search_url': atool.getActionInfo('global/search')['url'] } return decode(globals, context)
if context.REQUEST.get('is_newmember', False) == True: is_anon = False is_newmember = True options['title'] = is_usermanager and _(u'Register a New Member') \ or _(u'Become a Member') options['member_id'] = member_id options['member_email'] = member_email options['password'] = is_newmember and context.REQUEST.get('password', '') or '' options['send_password'] = send_password options['portal_url'] = portal_url options['isAnon'] = is_anon options['isAnonOrUserManager'] = is_anon or is_usermanager options['isNewMember'] = is_newmember options['isOrdinaryMember'] = not (is_anon or is_newmember or is_usermanager) options['validate_email'] = validate_email buttons = [] if is_newmember: target = atool.getActionInfo('user/logged_in')['url'] buttons.append( {'name': 'login', 'value': _(u'Log in')} ) else: target = atool.getActionInfo(('global/members_register', 'user/join'))['url'] buttons.append( {'name': 'add', 'value': _(u'Register')} ) buttons.append( {'name': 'cancel', 'value': _(u'Cancel')} ) options['form'] = { 'action': target, 'listButtonInfos': tuple(buttons) } return context.join_template(**decode(options, script))
message = context.REQUEST.get('portal_status_message') if message and isinstance(message, str): # portal_status_message uses always the browser charset. message = message.decode(getBrowserCharset(context.REQUEST)) globals = {'utool': utool, 'mtool': mtool, 'atool': atool, 'wtool': wtool, 'syndtool': syndtool, 'caltool_installed': caltool is not None, 'uidtool_installed': uidtool is not None, 'portal_object': portal_object, 'portal_title': portal_object.Title(), 'object_title': context.Title(), 'object_description': context.Description(), 'portal_url': utool(), 'member': member, 'membername': isAnon and 'Guest' or (member.getProperty('fullname') or member.getId()), 'membersfolder': mtool.getMembersFolder(), 'isAnon': isAnon, 'wf_state': wtool.getInfoFor(context, 'review_state', ''), 'show_actionicons': ptool.getProperty('enable_actionicons'), 'status_message': message, 'search_form_url': atool.getActionInfo('global/search_form')['url'], 'search_url': atool.getActionInfo('global/search')['url']} return decode(globals, context)
hidden_vars = [] for name, value in html_marshal(**default_kw): hidden_vars.append({'name': name, 'value': value}) buttons = [] if items_manage_allowed: if items_add_allowed and context.allowedContentTypes(): buttons.append({'name': 'items_new', 'value': _(u'New...')}) if items: buttons.append({'name': 'items_rename', 'value': _(u'Rename...')}) if items: buttons.append({'name': 'items_cut', 'value': _(u'Cut')}) buttons.append({'name': 'items_copy', 'value': _(u'Copy')}) if items_add_allowed and context.cb_dataValid(): buttons.append({'name': 'items_paste', 'value': _(u'Paste')}) if items_delete_allowed and items: buttons.append({'name': 'items_delete', 'value': _(u'Delete')}) length = batch_obj.sequence_length is_orderable = items_move_allowed and (key == 'position') and length > 1 is_sortable = items_move_allowed and not is_default deltas = range(1, min(5, length)) + range(5, length, 5) options['form'] = { 'action': target, 'listHiddenVarInfos': tuple(hidden_vars), 'listButtonInfos': tuple(buttons), 'listDeltas': tuple(deltas), 'is_orderable': is_orderable, 'is_sortable': is_sortable } return context.folder_contents_template(**decode(options, script))
context.document_edit_control(**form) and \ context.setRedirect(context, 'object/edit'): return elif change_and_view and \ context.validateTextFile(**form) and \ context.validateHTML(**form) and \ context.document_edit_control(**form) and \ context.setRedirect(context, 'object/view'): return options = {} options['title'] = context.Title() options['description'] = context.Description() options['text_format'] = form.get('text_format', context.text_format) options['text'] = form.get('text', context.EditableBody()) SafetyBelt = form.get('SafetyBelt', context.SafetyBelt()) hidden_vars = [ {'name': n, 'value': v} for n, v in html_marshal(SafetyBelt=SafetyBelt) ] buttons = [] target = context.getActionInfo('object/edit')['url'] buttons.append( {'name': 'change', 'value': _(u'Change')} ) buttons.append( {'name': 'change_and_view', 'value': _(u'Change and View')} ) options['form'] = { 'action': target, 'listHiddenVarInfos': tuple(hidden_vars), 'listButtonInfos': tuple(buttons) } return context.document_edit_template(**decode(options, script))
options['batch'] = { 'listColumnInfos': tuple(columns), 'listItemInfos': tuple(items), 'navigation': navigation } hidden_vars = [] for name, value in html_marshal(**default_kw): hidden_vars.append( {'name': name, 'value': value} ) buttons = [] if items_manage_allowed: if items and items_add_allowed and context.allowedContentTypes(): buttons.append( {'name': 'items_rename', 'value': _(u'Rename...')} ) if items: buttons.append( {'name': 'items_cut', 'value': _(u'Cut')} ) buttons.append( {'name': 'items_copy', 'value': _(u'Copy')} ) if items_add_allowed and context.cb_dataValid(): buttons.append( {'name': 'items_paste', 'value': _(u'Paste')} ) if items_delete_allowed and items: buttons.append( {'name': 'items_delete', 'value': _(u'Delete')} ) length = batch_obj.sequence_length is_orderable = items_move_allowed and (key == 'position') and length > 1 is_sortable = items_move_allowed and not is_default deltas = range( 1, min(5, length) ) + range(5, length, 5) options['form'] = { 'action': target, 'listHiddenVarInfos': tuple(hidden_vars), 'listButtonInfos': tuple(buttons), 'listDeltas': tuple(deltas), 'is_orderable': is_orderable, 'is_sortable': is_sortable } return context.folder_contents_template(**decode(options, script))
##parameters= ## from Products.CMFDefault.utils import decode options = {} options['title'] = context.Title() options['description'] = context.Description() options['contact_name'] = context.contact_name options['location'] = context.location options['contact_email'] = context.contact_email options['event_types'] = context.Subject() options['contact_phone'] = context.contact_phone options['event_url'] = context.event_url start = context.start() options['start_date'] = DateTime.Date(start) options['start_time'] = DateTime.Time(start) stop = context.end() options['stop_date'] = DateTime.Date(stop) options['stop_time'] = DateTime.Time(stop) return context.event_view_template(**decode(options, script))
options = {} title = form.get('title', context.Title()) text = form.get('text', '') options['is_preview'] = is_preview options['title'] = title options['text'] = text options['cooked_text'] = structured_text(text) if is_preview: hidden_vars = [{ 'name': n, 'value': v } for n, v in html_marshal(title=title, text=text)] else: hidden_vars = [] buttons = [] target = atool.getActionInfo('object/reply', context)['url'] buttons.append({'name': 'add', 'value': _(u'Add')}) if is_preview: buttons.append({'name': 'edit', 'value': _(u'Edit')}) else: buttons.append({'name': 'preview', 'value': _(u'Preview')}) options['form'] = { 'action': target, 'listHiddenVarInfos': tuple(hidden_vars), 'listButtonInfos': tuple(buttons) } return context.discussion_reply_template(**decode(options, script))
ptool = getToolByInterfaceName('Products.CMFCore.interfaces.IPropertiesTool') utool = getToolByInterfaceName('Products.CMFCore.interfaces.IURLTool') portal_url = utool() options = {} options['portal_title'] = ptool.title() options['portal_description'] = ptool.getProperty('description') options['portal_url'] = portal_url member_id = member and member.getId() or 'foo' options['member_id'] = member_id options['password'] = password target = atool.getActionInfo('user/login')['url'] options['login_url'] = '%s' % target email_from_name = ptool.getProperty('email_from_name') options['signature'] = email_from_name headers = {} headers['Subject'] = _(u'${portal_title}: Your Membership Information', mapping={'portal_title': decode(ptool.title(), script)}) headers['From'] = '%s <%s>' % (email_from_name, ptool.getProperty('email_from_address')) headers['To'] = '<%s>' % email mtext = context.registered_email_template(**decode(options, script)) return makeEmail(mtext, script, headers)
atool = getToolByName(script, 'portal_actions') ptool = getToolByName(script, 'portal_properties') form = context.REQUEST.form if change and \ context.portal_config_control(**form) and \ context.setRedirect(atool, 'global/configPortal'): return options = {} target = atool.getActionInfo('global/configPortal')['url'] buttons = [] buttons.append( {'name': 'change', 'value': _(u'Change')} ) options['form'] = { 'action': target, 'email_from_name': ptool.getProperty('email_from_name'), 'email_from_address': ptool.getProperty('email_from_address'), 'smtp_server': ptool.smtp_server(), 'title': ptool.title(), 'description': ptool.getProperty('description'), 'validate_email': ptool.getProperty('validate_email'), 'default_charset': ptool.getProperty('default_charset', ''), 'listButtonInfos': tuple(buttons) } return context.reconfig_template(**decode(options, script))
options = {} c = context.aq_explicit raw_items = [getattr(c, id) for id in ids if hasattr(c, id)] raw_items = [item for item in raw_items if item.cb_isMoveable()] items = [] for item in raw_items: items.append({ 'icon': item.getIconURL(), 'id': item.getId(), 'title': item.Title(), 'type': item.Type() or None }) options['batch'] = {'listItemInfos': tuple(items)} target = context.getActionInfo('object/rename_items')['url'] hidden_vars = [] for name, value in html_marshal(**default_kw): hidden_vars.append({'name': name, 'value': value}) buttons = [] buttons.append({'name': 'rename', 'value': _(u'Rename')}) buttons.append({'name': 'cancel', 'value': _(u'Cancel')}) options['form'] = { 'action': target, 'listHiddenVarInfos': tuple(hidden_vars), 'listButtonInfos': tuple(buttons) } return context.folder_rename_template(**decode(options, script))
from Products.CMFDefault.utils import Message as _ atool = getToolByName(script, 'portal_actions') form = context.REQUEST.form if delete and \ context.members_delete_control(**form) and \ context.setRedirect(atool, 'global/manage_members', b_start=b_start): return elif cancel and \ context.setRedirect(atool, 'global/manage_members', b_start=b_start): return options = {} target = atool.getActionInfo('global/members_delete')['url'] hidden_vars = [] for name, value in html_marshal(b_start=b_start, ids=ids): hidden_vars.append( {'name': name, 'value': value} ) buttons = [] buttons.append( {'name': 'delete', 'value': _(u'Delete')} ) buttons.append( {'name': 'cancel', 'value': _(u'Cancel')} ) options['form'] = { 'action': target, 'members': ', '.join(ids), 'listHiddenVarInfos': tuple(hidden_vars), 'listButtonInfos': tuple(buttons) } return context.members_delete_template(**decode(options, script))
##parameters= ## from Products.CMFDefault.utils import decode options = {} options['title'] = context.Title() options['description'] = context.Description() options['text'] = context.CookedBody() return context.discussionitem_view_template(**decode(options, script))
## from Products.PythonScripts.standard import structured_text from ZTUtils import Batch from Products.CMFCore.utils import getToolByInterfaceName from Products.CMFDefault.utils import decode ctool = getToolByInterfaceName('Products.CMFCore.interfaces.ICatalogTool') utool = getToolByInterfaceName('Products.CMFCore.interfaces.IURLTool') portal_url = utool() options = {} target = '%s/recent_news' % portal_url items = ctool.searchResults(portal_type='News Item', sort_on='Date', sort_order='reverse', review_state='published') batch_obj = Batch(items, 10, b_start, orphan=1) items = [ {'creators': item.listCreators, 'date': item.Date, 'description': structured_text(item.Description), 'title': item.Title, 'url': item.getURL()} for item in batch_obj ] navigation = context.getBatchNavigation(batch_obj, target) options['batch'] = {'listItemInfos': items, 'navigation': navigation} return context.recent_news_template(**decode(options, script))
##parameters= ## from Products.CMFDefault.utils import decode options = {} metadata = [ {'name': field[0], 'body': field[1]} for field in context.getMetadataHeaders() if field[0].lower() != 'title' ] options['title'] = context.Title() options['listMetadataFields'] = metadata options['editable_body'] = context.EditableBody() return context.source_html_template(**decode(options, script))
from Products.CMFDefault.utils import Message as _ atool = getToolByInterfaceName('Products.CMFCore.interfaces.IActionsTool') form = context.REQUEST.form if delete and \ context.members_delete_control(**form) and \ context.setRedirect(atool, 'global/manage_members', b_start=b_start): return elif cancel and \ context.setRedirect(atool, 'global/manage_members', b_start=b_start): return options = {} target = atool.getActionInfo('global/members_delete')['url'] hidden_vars = [] for name, value in html_marshal(b_start=b_start, ids=ids): hidden_vars.append({'name': name, 'value': value}) buttons = [] buttons.append({'name': 'delete', 'value': _(u'Delete')}) buttons.append({'name': 'cancel', 'value': _(u'Cancel')}) options['form'] = { 'action': target, 'members': ', '.join(ids), 'listHiddenVarInfos': tuple(hidden_vars), 'listButtonInfos': tuple(buttons) } return context.members_delete_template(**decode(options, script))
options = {} options['channel_info'] = { 'base': stool.getHTML4UpdateBase(context), 'description': context.Description(), 'frequency': stool.getUpdateFrequency(context), 'period': stool.getUpdatePeriod(context), 'title': context.Title(), 'url': context.absolute_url() } key, reverse = context.getDefaultSorting() items = stool.getSyndicatableContent(context) items = sequence.sort( items, ((key, 'cmp', reverse and 'desc' or 'asc'),) ) items = LazyFilter(items, skip='View') b_size = stool.getMaxItems(context) batch_obj = Batch(items, b_size, 0, orphan=0) items = [] for item in batch_obj: items.append( { 'date': item.modified().HTML4(), 'description': item.Description(), 'listCreators': item.listCreators(), 'listSubjects': item.Subject(), 'publisher': item.Publisher(), 'rights': item.Rights(), 'title': item.Title(), 'url': item.absolute_url() } ) options['listItemInfos'] = tuple(items) return context.RSS_template(**decode(options, script))
atool = getToolByName(script, 'portal_actions') ptool = getUtilityByInterfaceName( 'Products.CMFCore.interfaces.IPropertiesTool') form = context.REQUEST.form if change and \ context.portal_config_control(**form) and \ context.setRedirect(atool, 'global/configPortal'): return options = {} target = atool.getActionInfo('global/configPortal')['url'] buttons = [] buttons.append({'name': 'change', 'value': _(u'Change')}) options['form'] = { 'action': target, 'email_from_name': ptool.getProperty('email_from_name'), 'email_from_address': ptool.getProperty('email_from_address'), 'smtp_server': ptool.smtp_server(), 'title': ptool.title(), 'description': ptool.getProperty('description'), 'validate_email': ptool.getProperty('validate_email'), 'default_charset': ptool.getProperty('default_charset', ''), 'email_charset': ptool.getProperty('email_charset', ''), 'enable_actionicons': ptool.getProperty('enable_actionicons'), 'listButtonInfos': tuple(buttons) } return context.reconfig_template(**decode(options, script))
##parameters=change='', change_and_view='' ## from Products.CMFDefault.utils import decode from Products.CMFDefault.utils import Message as _ form = context.REQUEST.form if change and \ context.link_edit_control(**form) and \ context.setRedirect(context, 'object/edit'): return elif change_and_view and \ context.link_edit_control(**form) and \ context.setRedirect(context, 'object/view'): return options = {} options['title'] = context.Title() options['remote_url'] = form.get('remote_url', context.remote_url) buttons = [] target = context.getActionInfo('object/edit')['url'] buttons.append( {'name': 'change', 'value': _(u'Change')} ) buttons.append( {'name': 'change_and_view', 'value': _(u'Change and View')} ) options['form'] = { 'action': target, 'listButtonInfos': tuple(buttons) } return context.link_edit_template(**decode(options, script))
members = mtool.listMembers() batch_obj = Batch(members, 25, b_start, orphan=0) items = [] for member in batch_obj: member_id = member.getId() login_time = member.getProperty('login_time') member_login = login_time == '2000/01/01' and '---' or login_time.Date() member_home = mtool.getHomeUrl(member_id, verifyPermission=0) items.append( {'checkbox': 'cb_%s' % member_id, 'email': member.getProperty('email'), 'login': member_login, 'id': member_id, 'home': member_home } ) navigation = context.getBatchNavigation(batch_obj, target, 'member', 'members') options['batch'] = { 'listItemInfos': tuple(items), 'navigation': navigation } hidden_vars = [] for name, value in html_marshal(b_start=b_start): hidden_vars.append( {'name': name, 'value': value} ) buttons = [] buttons.append( {'name': 'members_new', 'value': _(u'New...')} ) if items: buttons.append( {'name': 'members_delete', 'value': _(u'Delete...')} ) options['form'] = { 'action': target, 'listHiddenVarInfos': tuple(hidden_vars), 'listButtonInfos': tuple(buttons) } return context.members_manage_template(**decode(options, script))
##parameters= ## from Products.CMFCore.utils import getUtilityByInterfaceName from Products.CMFDefault.utils import decode stool = getUtilityByInterfaceName('Products.CMFCore.interfaces.ISyndicationTool') options = {} s_site_allowed = stool.isSiteSyndicationAllowed() s_here_allowed = stool.isSyndicationAllowed(context) options['title'] = context.Title() options['description'] = context.Description() options['s_site_allowed'] = s_site_allowed options['s_here_allowed'] = s_here_allowed options['s_allowed'] = s_site_allowed and s_here_allowed options['s_tool'] = stool return context.synPropertiesForm_template(**decode(options, script))
##parameters= ## from ZTUtils import Batch from Products.CMFCore.utils import getToolByInterfaceName from Products.CMFDefault.utils import decode ctool = getToolByInterfaceName('Products.CMFCore.interfaces.ICatalogTool') options = {} items = ctool.searchResults(portal_type='News Item', sort_on='Date', sort_order='reverse', review_state='published') batch_obj = Batch(items, 10, 0, orphan=1) items = [{ 'title': item.Title, 'date': item.Date, 'url': item.getURL() } for item in batch_obj] options['listItemInfos'] = items return context.news_box_template(**decode(options, script))
isAnon = mtool.isAnonymousUser() if isAnon: context.REQUEST.RESPONSE.expireCookie('__ac', path='/') options['is_anon'] = True options['title'] = _(u'Login failure') options['admin_email'] = ptool.getProperty('email_from_address') else: mtool.createMemberArea() member = mtool.getAuthenticatedMember() now = context.ZopeTime() last_login = member.getProperty('login_time', None) member.setProperties(last_login_time=last_login, login_time=now) is_first_login = (last_login == '2000/01/01' and ptool.getProperty('validate_email')) if is_first_login: member.setProperties(last_login_time='1999/01/01', login_time=now) target = '%s/password_form' % portal_url context.REQUEST.RESPONSE.redirect(target) return else: member.setProperties(last_login_time=last_login, login_time=now) came_from = context.REQUEST.get('came_from', None) if came_from: context.REQUEST.RESPONSE.redirect(came_from) return options['is_anon'] = False options['title'] = _(u'Login success') return context.logged_in_template(**decode(options, script))
return options = {} c = context.aq_explicit raw_items = [ getattr(c, id) for id in ids if hasattr(c, id) ] raw_items = [ item for item in raw_items if item.cb_isMoveable() ] items = [] for item in raw_items: item_icon = item.getIcon(1) items.append( { 'icon': item_icon and ( '%s/%s' % (portal_url, item_icon) ) or '', 'id': item.getId(), 'title': item.Title(), 'type': item.Type() or None } ) options['batch'] = { 'listItemInfos': tuple(items) } target = context.getActionInfo('object/rename_items')['url'] hidden_vars = [] for name, value in html_marshal(**default_kw): hidden_vars.append( {'name': name, 'value': value} ) buttons = [] buttons.append( {'name': 'rename', 'value': _(u'Rename')} ) buttons.append( {'name': 'cancel', 'value': _(u'Cancel')} ) options['form'] = { 'action': target, 'listHiddenVarInfos': tuple(hidden_vars), 'listButtonInfos': tuple(buttons) } return context.folder_rename_template(**decode(options, script))
options = {} isAnon = mtool.isAnonymousUser() if isAnon: context.REQUEST.RESPONSE.expireCookie('__ac', path='/') options['is_anon'] = True options['title'] = _(u'Login failure') options['admin_email'] = ptool.getProperty('email_from_address') else: mtool.createMemberArea() member = mtool.getAuthenticatedMember() now = context.ZopeTime() last_login = member.getProperty('login_time') never_logged_in = str(last_login).startswith('2000/01/01') if never_logged_in and ptool.getProperty('validate_email'): member.setProperties(last_login_time='1999/01/01', login_time=now) target = atool.getActionInfo('user/change_password')['url'] context.REQUEST.RESPONSE.redirect(target) return else: member.setProperties(last_login_time=last_login, login_time=now) came_from = context.REQUEST.get('came_from', None) if came_from: context.REQUEST.RESPONSE.redirect(came_from) return options['is_anon'] = False options['title'] = _(u'Login success') return context.logged_in_template(**decode(options, script))
allow_discussion = getattr(context, 'allow_discussion', None) if allow_discussion is not None: allow_discussion = bool(allow_discussion) options['allow_discussion'] = allow_discussion options['identifier'] = context.Identifier() options['title'] = form.get('title', context.Title()) options['description'] = form.get('description', context.Description()) subject = form.get('subject', context.Subject()) allowed_subjects = mdtool.listAllowedSubjects(context) extra_subjects = [s for s in subject if not s in allowed_subjects] options['allowed_subjects'] = tuple(allowed_subjects) options['extra_subjects'] = tuple(extra_subjects) options['subject'] = tuple(subject) options['format'] = form.get('format', context.Format()) options['contributors'] = form.get('contributors', context.Contributors()) options['language'] = form.get('language', context.Language()) options['rights'] = form.get('rights', context.Rights()) buttons = [] target = context.getActionInfo('object/metadata')['url'] buttons.append({'name': 'change', 'value': _(u'Change')}) buttons.append({'name': 'change_and_edit', 'value': _(u'Change and Edit')}) buttons.append({'name': 'change_and_view', 'value': _(u'Change and View')}) options['form'] = {'action': target, 'listButtonInfos': tuple(buttons)} return context.metadata_edit_template(**decode(options, script))
allow_discussion = getattr(context, 'allow_discussion', None) if allow_discussion is not None: allow_discussion = bool(allow_discussion) options['allow_discussion'] = allow_discussion options['identifier'] = context.Identifier() options['title'] = form.get('title', context.Title()) options['description'] = form.get('description', context.Description()) subject = form.get('subject', context.Subject()) allowed_subjects = mdtool.listAllowedSubjects(context) extra_subjects = [ s for s in subject if not s in allowed_subjects ] options['allowed_subjects'] = tuple(allowed_subjects) options['extra_subjects'] = tuple(extra_subjects) options['subject'] = tuple(subject) options['format'] = form.get('format', context.Format()) options['contributors'] = form.get('contributors', context.Contributors()) options['language'] = form.get('language', context.Language()) options['rights'] = form.get('rights', context.Rights()) buttons = [] target = context.getActionInfo('object/metadata')['url'] buttons.append( {'name': 'change', 'value': _(u'Change')} ) buttons.append( {'name': 'change_and_edit', 'value': _(u'Change and Edit')} ) buttons.append( {'name': 'change_and_view', 'value': _(u'Change and View')} ) options['form'] = { 'action': target, 'listButtonInfos': tuple(buttons) } return context.metadata_edit_template(**decode(options, script))
##parameters= ## from Products.CMFCore.utils import getToolByName from Products.CMFDefault.utils import decode caltool = getToolByName(script, 'portal_calendar') options = {} base_url = script.absolute_url() thisDay = DateTime(context.REQUEST.get('date', DateTime().aCommon()[:12])) options['previous_url'] = '%s?date=%s' % (base_url, (thisDay-1).Date()) options['date'] = thisDay.aCommon()[:12] options['next_url'] = '%s?date=%s' % (base_url, (thisDay+1).Date()) items = [ {'title': item.Title, 'url': item.getURL(), 'start': context.getStartAsString(thisDay, item), 'stop': context.getEndAsString(thisDay, item)} for item in caltool.getEventsForThisDay(thisDay) ] options['listItemInfos'] = tuple(items) return context.calendar_day_view_template(**decode(options, script))
##parameters= ## from ZTUtils import Batch from Products.CMFCore.utils import getToolByName from Products.CMFDefault.utils import decode ctool = getToolByName(script, 'portal_catalog') options = {} items = ctool.searchResults(portal_type='News Item', sort_on='Date', sort_order='reverse', review_state='published') batch_obj = Batch(items, 10, 0, orphan=1) items = [ {'title': item.Title, 'date': item.Date, 'url': item.getURL()} for item in batch_obj ] options['listItemInfos'] = items return context.news_box_template(**decode(options, script))
from ZTUtils import Batch from Products.CMFCore.utils import getToolByInterfaceName from Products.CMFDefault.utils import decode ctool = getToolByInterfaceName(script, 'Products.CMFCore.interfaces.ICatalogTool') utool = getToolByInterfaceName(script, 'Products.CMFCore.interfaces.IURLTool') portal_url = utool() options = {} target = '%s/recent_news' % portal_url items = ctool.searchResults(portal_type='News Item', sort_on='Date', sort_order='reverse', review_state='published') batch_obj = Batch(items, 10, b_start, orphan=1) items = [{ 'creators': item.listCreators, 'date': item.Date, 'description': structured_text(item.Description), 'title': item.Title, 'url': item.getURL() } for item in batch_obj] navigation = context.getBatchNavigation(batch_obj, target) options['batch'] = {'listItemInfos': items, 'navigation': navigation} return context.recent_news_template(**decode(options, script))
## from Products.CMFDefault.utils import decode from Products.CMFDefault.utils import Message as _ form = context.REQUEST.form if change and \ context.topic_edit_control(**form) and \ context.setRedirect(context, 'object/edit'): return elif change_and_view and \ context.topic_edit_control(**form) and \ context.setRedirect(context, 'object/view'): return options = {} options['title'] = form.get('title', context.Title()) options['description'] = form.get('description', context.Description()) options['acquireCriteria'] = form.get('acquireCriteria', context.acquireCriteria) buttons = [] target = context.getActionInfo('object/edit')['url'] buttons.append( {'name': 'change', 'value': _(u'Change')} ) buttons.append( {'name': 'change_and_view', 'value': _(u'Change and View')} ) options['form'] = { 'action': target, 'listButtonInfos': tuple(buttons) } return context.topic_edit_template(**decode(options, script))
portal_url = utool() options = {} options['title'] = context.Title() is_review_allowed = mtool.checkPermission(ReviewPortalContent, context) options['is_review_allowed'] = is_review_allowed options['listAvailableSubjects'] = ctool.uniqueValuesFor('Subject') created = [] today = context.ZopeTime().earliestTime() created.append({'value': '1970/01/01 00:00:01 GMT', 'title': _(u'Ever')}) if not mtool.isAnonymousUser(): created.append({'value': mtool.getAuthenticatedMember().last_login_time, 'title': _(u'Last login')}) created.append({'value': (today-1).Date(), 'title': _(u'Yesterday')}) created.append({'value': (today-7).Date(), 'title': _(u'Last week')}) created.append({'value': (today-31).Date(), 'title': _(u'Last month')}) options['listCreatedInfos'] = tuple(created) options['listTypeInfos'] = ttool.listTypeInfo() buttons = [] target = '%s/search' % portal_url buttons.append( {'name': 'search', 'value': _(u'Search')} ) options['form'] = { 'action': target, 'listButtonInfos': tuple(buttons) } return context.search_form_template(**decode(options, script))
##parameters= ##title=Discussion parent breadcrumbs ## from Products.CMFDefault.utils import decode breadcrumbs = '' parents = context.parentsInThread() if parents: breadcrumbs = 'Above in thread: ' for parent in parents: p_str = '<a href="%s">%s</a>' % (parent.absolute_url(), parent.Title()) breadcrumbs = breadcrumbs + p_str + ':' breadcrumbs = breadcrumbs[:-1] + '<p>' return decode(breadcrumbs, script)