src/pyams_content/component/links/__init__.py
changeset 550 9658debb49a3
parent 384 d433c8c46ec9
child 625 abd143a83a07
equal deleted inserted replaced
549:7340e6c1429f 550:9658debb49a3
    17 
    17 
    18 # import interfaces
    18 # import interfaces
    19 from pyams_content.component.association.interfaces import IAssociationInfo, IAssociationTarget, IAssociationContainer
    19 from pyams_content.component.association.interfaces import IAssociationInfo, IAssociationTarget, IAssociationContainer
    20 from pyams_content.component.links.interfaces import IBaseLink, IInternalLink, IExternalLink, IMailtoLink
    20 from pyams_content.component.links.interfaces import IBaseLink, IInternalLink, IExternalLink, IMailtoLink
    21 from pyams_content.features.checker.interfaces import IContentChecker, ERROR_VALUE
    21 from pyams_content.features.checker.interfaces import IContentChecker, ERROR_VALUE
    22 from pyams_content.interfaces import IBaseContent
    22 from pyams_content.interfaces import IBaseContent, MANAGE_CONTENT_PERMISSION
       
    23 from pyams_form.interfaces.form import IFormContextPermissionChecker
    23 from pyams_i18n.interfaces import II18n
    24 from pyams_i18n.interfaces import II18n
    24 from pyams_sequence.interfaces import ISequentialIdInfo
    25 from pyams_sequence.interfaces import ISequentialIdInfo
    25 from pyams_workflow.interfaces import IWorkflow
    26 from pyams_workflow.interfaces import IWorkflow
    26 
    27 
    27 # import packages
    28 # import packages
   118             return absolute_url(target, request, view_name)
   119             return absolute_url(target, request, view_name)
   119         else:
   120         else:
   120             return ''
   121             return ''
   121 
   122 
   122 
   123 
       
   124 @adapter_config(context=IInternalLink, provides=IFormContextPermissionChecker)
       
   125 class InternalLinkPermissionChecker(ContextAdapter):
       
   126     """Internal link permission checker"""
       
   127 
       
   128     edit_permission = MANAGE_CONTENT_PERMISSION
       
   129 
       
   130 
   123 @adapter_config(context=IInternalLink, provides=IAssociationInfo)
   131 @adapter_config(context=IInternalLink, provides=IAssociationInfo)
   124 class InternalLinkAssociationInfoAdapter(BaseLinkInfoAdapter):
   132 class InternalLinkAssociationInfoAdapter(BaseLinkInfoAdapter):
   125     """Internal link association info adapter"""
   133     """Internal link association info adapter"""
   126 
   134 
   127     @property
   135     @property
   185 
   193 
   186     def get_url(self, request=None, view_name=None):
   194     def get_url(self, request=None, view_name=None):
   187         return self.url
   195         return self.url
   188 
   196 
   189 
   197 
       
   198 @adapter_config(context=IExternalLink, provides=IFormContextPermissionChecker)
       
   199 class ExternalLinkPermissionChecker(ContextAdapter):
       
   200     """External link permission checker"""
       
   201 
       
   202     edit_permission = MANAGE_CONTENT_PERMISSION
       
   203 
       
   204 
   190 @adapter_config(context=IExternalLink, provides=IAssociationInfo)
   205 @adapter_config(context=IExternalLink, provides=IAssociationInfo)
   191 class ExternalLinkAssociationInfoAdapter(BaseLinkInfoAdapter):
   206 class ExternalLinkAssociationInfoAdapter(BaseLinkInfoAdapter):
   192     """External link association info adapter"""
   207     """External link association info adapter"""
   193 
   208 
   194     @property
   209     @property
   231 
   246 
   232     def get_url(self, request=None, view_name=None):
   247     def get_url(self, request=None, view_name=None):
   233         return 'mailto:{0} <{1}>'.format(self.address_name, self.address)
   248         return 'mailto:{0} <{1}>'.format(self.address_name, self.address)
   234 
   249 
   235 
   250 
       
   251 @adapter_config(context=IMailtoLink, provides=IFormContextPermissionChecker)
       
   252 class MailtoLinkPermissionChecker(ContextAdapter):
       
   253     """Mailto link permission checker"""
       
   254 
       
   255     edit_permission = MANAGE_CONTENT_PERMISSION
       
   256 
       
   257 
   236 @adapter_config(context=IMailtoLink, provides=IAssociationInfo)
   258 @adapter_config(context=IMailtoLink, provides=IAssociationInfo)
   237 class MailtoLinkAssociationInfoAdapter(BaseLinkInfoAdapter):
   259 class MailtoLinkAssociationInfoAdapter(BaseLinkInfoAdapter):
   238     """Mailto link association info adapter"""
   260     """Mailto link association info adapter"""
   239 
   261 
   240     @property
   262     @property