cubicweb/web/views/massmailing.py
author Philippe Pepiot <philippe.pepiot@logilab.fr>
Fri, 28 Apr 2017 09:49:37 +0200
changeset 12183 af5d0a3c3f1a
parent 11057 0b59724cb3f2
permissions -rw-r--r--
[req] fix find() generating non-rewritable rql on non final relations When filtering on a relation, find() was generating rql like 'Any X WHERE X is ETYPE, X relation EID' which work without being rewritten (it should probably not), but when applying some rewrite (eg. permissions) it raise in rqlrewrite code. def _use_orig_term(self, snippet_varname, term): ... > self.rewritten[key] = term.name E AttributeError: 'Constant' object has no attribute 'name' Generate valid rql instead 'Any X WHERE X is ETYPE, X relation Y, Y eid EID'.

# copyright 2003-2013 LOGILAB S.A. (Paris, FRANCE), all rights reserved.
# contact http://www.logilab.fr/ -- mailto:contact@logilab.fr
#
# This file is part of CubicWeb.
#
# CubicWeb is free software: you can redistribute it and/or modify it under the
# terms of the GNU Lesser General Public License as published by the Free
# Software Foundation, either version 2.1 of the License, or (at your option)
# any later version.
#
# CubicWeb is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
# FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more
# details.
#
# You should have received a copy of the GNU Lesser General Public License along
# with CubicWeb.  If not, see <http://www.gnu.org/licenses/>.
"""Mass mailing handling: send mail to entities adaptable to IEmailable"""

try:
    from cubes.massmailing.views import (SendEmailAction,
                                         recipient_vocabulary,
                                         MassMailingForm,
                                         MassMailingFormRenderer,
                                         MassMailingFormView,
                                         SendMailController)


    from logilab.common.deprecation import class_moved, moved

    msg = '[3.17] cubicweb.web.views.massmailing moved to cubes.massmailing.views'
    SendEmailAction = class_moved(SendEmailAction, message=msg)
    recipient_vocabulary = moved('cubes.massmailing.views', 'recipient_vocabulary')
    MassMailingForm = class_moved(MassMailingForm, message=msg)
    MassMailingFormRenderer = class_moved(MassMailingFormRenderer, message=msg)
    MassMailingFormView = class_moved(MassMailingFormView, message=msg)
    SendMailController = class_moved(SendMailController, message=msg)
except ImportError:
    from cubicweb.web import LOGGER
    LOGGER.warning('[3.17] massmailing extracted to cube massmailing that was not found. try installing it.')