X-Git-Url: https://scm.cri.ensmp.fr/git/photoprint.git/blobdiff_plain/ccaba0f54cbd41250107d36a49154353425da8b3..b521f0db73266a7bd6b69e6a9891046a03c482ee:/utils.py?ds=sidebyside diff --git a/utils.py b/utils.py deleted file mode 100755 index 9f4706f..0000000 --- a/utils.py +++ /dev/null @@ -1,66 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################ -# Copyright © 2008 Benoît PIN # -# Plinn - http://plinn.org # -# # -# This program is free software; you can redistribute it # -# and/or modify it under the terms of the Creative Commons # -# "Attribution-Noncommercial 2.0 Generic" # -# http://creativecommons.org/licenses/by-nc/2.0/ # -############################################################ -""" -Global utilities - - - -""" - -from AccessControl import ModuleSecurityInfo -from zope.i18n import translate as i18ntranslate -from zope.i18nmessageid import MessageFactory -from zope.globalrequest import getRequest -from Products.CMFCore.utils import getUtilityByInterfaceName -from Products.Plinn.utils import _sudo -import transaction - - -security = ModuleSecurityInfo('Products.photoprint.utils') - -security.declarePublic('translate') -def translate(msgid, mapping=None, default=None) : - """ traduction dans le domaine photoprint """ - return i18ntranslate(msgid, domain='photoprint', mapping=mapping, context=getRequest(), default=default) - -security.declarePublic('Message') -Message = _ = MessageFactory('photoprint') - -security.declarePublic('grantAccess') -def grantAccess(collectionId, password, confirm, memberId) : - utool = getUtilityByInterfaceName('Products.CMFCore.interfaces.IURLTool') - mtool = getUtilityByInterfaceName('Products.CMFCore.interfaces.IMembershipTool') - portal = utool.getPortalObject() - - data = portal.private_collections.data - lines = filter(None, [l.strip() for l in data.split('\n')]) - assert len(lines) % 3 == 0 - collecInfos = {} - for i in xrange(0, len(lines), 3) : - collecInfos[lines[i]] = {'pw' : lines[i+1], - 'path' : lines[i+2]} - - if not collecInfos.has_key(collectionId) : - transaction.abort() - return _('Wrong private collection identifier.') - elif password != confirm : - transaction.abort() - return _("Collection's password does not match confirmation.") - else : - if collecInfos[collectionId]['pw'] != password : - transaction.abort() - return _("Wrong collection's password.") - else : - collec = portal.unrestrictedTraverse(collecInfos[collectionId]['path']) - def do() : - mtool.setLocalRoles(collec, [memberId], 'Reader') - - _sudo(do)