source: products/quintagroup.seoptimizer/trunk/quintagroup/seoptimizer/skins/quintagroup.seoptimizer/validate_qseo_properties.vpy @ 1463

Last change on this file since 1463 was 1463, checked in by liebster, 14 years ago

refactor seo_context_properties cpy script to browser view

File size: 1.2 KB
Line 
1## Controller Python Script "qseo_properties_edit"
2##bind container=container
3##bind context=context
4##bind namespace=
5##bind script=script
6##bind state=state
7##bind subpath=traverse_subpath
8##title=validates SEO Properties
9##parameters=title=None,description=None,canonical=None,keywords=None,html_comment=None,robots=None,distribution=None,title_override=0,description_override=0,canonical_override=0,keywords_override=0,html_comment_override=0,robots_override=0,distribution_override=0,custommetatags=[]
10
11from Products.CMFCore.utils import getToolByName
12from quintagroup.seoptimizer import SeoptimizerMessageFactory as _
13
14def getMainDomain(url):
15    url = url.split('//')[-1]
16    dompath = url.split(':')[0]
17    dom = dompath.split('/')[0]
18    return '.'.join(dom.split('.')[-2:])
19
20purl = getToolByName(context, 'portal_url')()
21if canonical:
22    pdomain = getMainDomain(purl)
23    if not pdomain == getMainDomain(canonical):
24        state.setError('canonical', _(u'Canonical URL mast be in "%s" domain' % pdomain), "canonical")
25
26if state.getErrors():
27    context.plone_utils.addPortalMessage(_(u'Please correct the indicated errors.'))
28    return state.set(status='failure')
29else:
30    return state
Note: See TracBrowser for help on using the repository browser.