##parameters=addTemplate='', edit='', deleteOptionContainer='', createOptionsContainer=''
from Products.CMFCore.utils import getToolByName
from Products.photoprint.utils import translate as _
utool = getToolByName(context, 'portal_url')
pptool = getToolByName(context, 'portal_photo_print')
form = context.REQUEST.form.copy()
if addTemplate:
context.REQUEST.RESPONSE.setHeader('Content-Type', 'text/xml;;charset=utf-8');
fg = form.get
try :
orderTemplate = pptool.addPrintOrderTemplate( context
, title=fg('title')
, description=fg('description')
, productReference=fg('productReference')
, maxCopies=fg('maxCopies')
, price=fg('price')
, VATRate=fg('VATRate')
)
templateOptions = {}
templateOptions['o'] = orderTemplate
classRowName = 'odd'
if context.printingOptions.getObjectPosition(orderTemplate.getId()) % 2 == 0 :
classRowName = 'even'
templateOptions['classRowName'] = classRowName
templateOptions['portal_url'] = utool()
widget = context.get_photo_print_order_template(**templateOptions).encode('utf-8').strip()
return '%s' % widget
except ValueError, e:
return '%s' % _(e)
elif edit:
context.REQUEST.RESPONSE.setHeader('Content-Type', 'text/xml;;charset=utf-8');
id = form.pop('id')
try :
orderTemplate = pptool.editPrintOrderTemplate(context, id, **form)
templateOptions = {}
templateOptions['o'] = orderTemplate
classRowName = 'odd'
if context.printingOptions.getObjectPosition(orderTemplate.getId()) % 2 == 0 :
classRowName = 'even'
templateOptions['classRowName'] = classRowName
templateOptions['portal_url'] = utool()
widget = context.get_photo_print_order_template(**templateOptions).encode('utf-8').strip()
return '%s' % widget
except ValueError, e :
return '%s' % _(e)
elif createOptionsContainer :
pptool.createPrintingOptionsContainer(context)
context.setStatus(True, _('Printing options added.'))
elif deleteOptionContainer :
pptool.deletePrintingOptionsContainer(context)
context.setStatus(True, _('Printing options deleted.'))
options = {}
options['pptool'] = pptool
options['hasPO'] = pptool.hasPrintingOptions(context)
pOptionsSrc = pptool.getPrintingOptionsSrc(context)
if pOptionsSrc :
pourl = pOptionsSrc.getActionInfo('object/printing_settings')['url']
else :
pourl = None
options['pourl'] = pourl
return context.photoprint_templates_edit_template(**options)