web/views/embedding.py
author Julien Cristau <julien.cristau@logilab.fr>
Mon, 07 Apr 2014 18:04:56 +0200
changeset 9636 e35ae8617c03
parent 8803 47dd517d6c6f
permissions -rw-r--r--
Fix constraint sync during migration - restore constraints lost during merge in test schema. - use constraint_by_eid in BeforeDeleteCWConstraintHook as done in 3.17.14 for BeforeDeleteConstrainedByHook. Fixes handling of multiple constraints of the same type. - make sync_schema_props_perms() delete the CWConstraint entity instead of the constrained_by relation. In 3.19, the latter doesn't automatically result in the former just because the relation is composite. Simplify the constraint migration to delete all removed constraints and recreate new ones even if they share the same type; that optimization made the code more complicated for (AFAICT) no significant reason.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
8803
47dd517d6c6f [web/views] extract cube embed (closes #1916015)
Vladimir Popescu <vladimir.popescu@logilab.fr>
parents: 8697
diff changeset
     1
# copyright 2003-2013 LOGILAB S.A. (Paris, FRANCE), all rights reserved.
5421
8167de96c523 proper licensing information (LGPL-2.1). Hope I get it right this time.
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 4252
diff changeset
     2
# contact http://www.logilab.fr/ -- mailto:contact@logilab.fr
8167de96c523 proper licensing information (LGPL-2.1). Hope I get it right this time.
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 4252
diff changeset
     3
#
8167de96c523 proper licensing information (LGPL-2.1). Hope I get it right this time.
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 4252
diff changeset
     4
# This file is part of CubicWeb.
8167de96c523 proper licensing information (LGPL-2.1). Hope I get it right this time.
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 4252
diff changeset
     5
#
8167de96c523 proper licensing information (LGPL-2.1). Hope I get it right this time.
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 4252
diff changeset
     6
# CubicWeb is free software: you can redistribute it and/or modify it under the
8167de96c523 proper licensing information (LGPL-2.1). Hope I get it right this time.
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 4252
diff changeset
     7
# terms of the GNU Lesser General Public License as published by the Free
8167de96c523 proper licensing information (LGPL-2.1). Hope I get it right this time.
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 4252
diff changeset
     8
# Software Foundation, either version 2.1 of the License, or (at your option)
8167de96c523 proper licensing information (LGPL-2.1). Hope I get it right this time.
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 4252
diff changeset
     9
# any later version.
8167de96c523 proper licensing information (LGPL-2.1). Hope I get it right this time.
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 4252
diff changeset
    10
#
5424
8ecbcbff9777 replace logilab-common by CubicWeb in disclaimer
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 5421
diff changeset
    11
# CubicWeb is distributed in the hope that it will be useful, but WITHOUT
5421
8167de96c523 proper licensing information (LGPL-2.1). Hope I get it right this time.
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 4252
diff changeset
    12
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
8167de96c523 proper licensing information (LGPL-2.1). Hope I get it right this time.
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 4252
diff changeset
    13
# FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more
8167de96c523 proper licensing information (LGPL-2.1). Hope I get it right this time.
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 4252
diff changeset
    14
# details.
8167de96c523 proper licensing information (LGPL-2.1). Hope I get it right this time.
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 4252
diff changeset
    15
#
8167de96c523 proper licensing information (LGPL-2.1). Hope I get it right this time.
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 4252
diff changeset
    16
# You should have received a copy of the GNU Lesser General Public License along
8167de96c523 proper licensing information (LGPL-2.1). Hope I get it right this time.
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 4252
diff changeset
    17
# with CubicWeb.  If not, see <http://www.gnu.org/licenses/>.
0
b97547f5f1fa Showtime !
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff changeset
    18
"""Objects interacting together to provides the external page embeding
b97547f5f1fa Showtime !
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff changeset
    19
functionality.
5886
00a78298d30d cleanups
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 5424
diff changeset
    20
"""
0
b97547f5f1fa Showtime !
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff changeset
    21
8803
47dd517d6c6f [web/views] extract cube embed (closes #1916015)
Vladimir Popescu <vladimir.popescu@logilab.fr>
parents: 8697
diff changeset
    22
from logilab.common.deprecation import class_moved, moved
1802
d628defebc17 delete-trailing-whitespace + some copyright update
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents: 1132
diff changeset
    23
8803
47dd517d6c6f [web/views] extract cube embed (closes #1916015)
Vladimir Popescu <vladimir.popescu@logilab.fr>
parents: 8697
diff changeset
    24
try:
47dd517d6c6f [web/views] extract cube embed (closes #1916015)
Vladimir Popescu <vladimir.popescu@logilab.fr>
parents: 8697
diff changeset
    25
    from cubes.embed.views import *
0
b97547f5f1fa Showtime !
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff changeset
    26
8803
47dd517d6c6f [web/views] extract cube embed (closes #1916015)
Vladimir Popescu <vladimir.popescu@logilab.fr>
parents: 8697
diff changeset
    27
    IEmbedableAdapter = class_moved(IEmbedableAdapter, message='[3.17] IEmbedableAdapter moved to cubes.embed.views')
47dd517d6c6f [web/views] extract cube embed (closes #1916015)
Vladimir Popescu <vladimir.popescu@logilab.fr>
parents: 8697
diff changeset
    28
    ExternalTemplate = class_moved(ExternalTemplate, message='[3.17] IEmbedableAdapter moved to cubes.embed.views')
47dd517d6c6f [web/views] extract cube embed (closes #1916015)
Vladimir Popescu <vladimir.popescu@logilab.fr>
parents: 8697
diff changeset
    29
    EmbedController = class_moved(EmbedController, message='[3.17] IEmbedableAdapter moved to cubes.embed.views')
47dd517d6c6f [web/views] extract cube embed (closes #1916015)
Vladimir Popescu <vladimir.popescu@logilab.fr>
parents: 8697
diff changeset
    30
    entity_has_embedable_url = moved('cubes.embed.views', 'entity_has_embedable_url')
47dd517d6c6f [web/views] extract cube embed (closes #1916015)
Vladimir Popescu <vladimir.popescu@logilab.fr>
parents: 8697
diff changeset
    31
    EmbedAction = class_moved(EmbedAction, message='[3.17] EmbedAction moved to cubes.embed.views')
47dd517d6c6f [web/views] extract cube embed (closes #1916015)
Vladimir Popescu <vladimir.popescu@logilab.fr>
parents: 8697
diff changeset
    32
    replace_href = class_moved(replace_href, message='[3.17] replace_href moved to cubes.embed.views')
47dd517d6c6f [web/views] extract cube embed (closes #1916015)
Vladimir Popescu <vladimir.popescu@logilab.fr>
parents: 8697
diff changeset
    33
    embed_external_page = moved('cubes.embed.views', 'embed_external_page')
47dd517d6c6f [web/views] extract cube embed (closes #1916015)
Vladimir Popescu <vladimir.popescu@logilab.fr>
parents: 8697
diff changeset
    34
    absolutize_links = class_moved(absolutize_links, message='[3.17] absolutize_links moved to cubes.embed.views')
47dd517d6c6f [web/views] extract cube embed (closes #1916015)
Vladimir Popescu <vladimir.popescu@logilab.fr>
parents: 8697
diff changeset
    35
    prefix_links = moved('cubes.embed.views', 'prefix_links')
47dd517d6c6f [web/views] extract cube embed (closes #1916015)
Vladimir Popescu <vladimir.popescu@logilab.fr>
parents: 8697
diff changeset
    36
except ImportError:
47dd517d6c6f [web/views] extract cube embed (closes #1916015)
Vladimir Popescu <vladimir.popescu@logilab.fr>
parents: 8697
diff changeset
    37
    from cubicweb.web import LOGGER
47dd517d6c6f [web/views] extract cube embed (closes #1916015)
Vladimir Popescu <vladimir.popescu@logilab.fr>
parents: 8697
diff changeset
    38
    LOGGER.warning('[3.17] embedding extracted to cube embed that was not found. try installing it.')