Пример #1
0
    def test_checkinObjectLinkedInParentsRichTextField(self):
        """Checnking-in an object that is linked in it's
        parent's rich text field. See: https://dev.plone.org/ticket/13462
        """
        # register a folderish content type with a rich text field
        from plone.app.folder.folder import ATFolder, ATFolderSchema
        from Products.ATContentTypes.content.base import registerATCT
        from Products.Archetypes import atapi

        rich_text_folder_type = type('RichFolder', (ATFolder,), {})
        rich_text_folder_type.schema = ATFolderSchema.copy() + atapi.Schema((
            atapi.TextField('text',
                default_output_type = 'text/x-html-safe',
                widget = atapi.RichWidget(),
                ),
            ),
        )
        registerATCT(rich_text_folder_type, 'plone.app.iterate')

        # create a folderish object with a rich text field
        self.portal.invokeFactory('Folder', 'rich_text_folder')
        rich_text_folder = self.portal.rich_text_folder

        # create the subobject
        rich_text_folder.invokeFactory('Document', 'subobject')
        subobject = rich_text_folder.subobject
        subobject_uid = subobject.UID()
        
        # link (by uid) the subobject in it's parent's rich text field
        link_html = '<a class="internal-link" href="resolveuid/%s">Link to subobject</a>'
        rich_text_folder.setText(link_html % subobject_uid)

        # try to checkout and checkin the subobject
        wc = ICheckinCheckoutPolicy(subobject).checkout(rich_text_folder)
        ICheckinCheckoutPolicy(wc).checkin("updated")

        # everything went right and the working copy is checked in
        self.assertEqual(subobject_uid, wc.UID())
Пример #2
0
             'columns': ['Title',
                         'Description']},
        ]

    def before_render(self):
        """Before template render hook
        """
        super(DrugProhibitionsView, self).before_render()
        # Don't allow any context actions on Drug Prohibitions folder
        self.request.set("disable_border", 1)

    def folderitems(self):
        items = BikaListingView.folderitems(self)
        for x in range(len(items)):
            if not items[x].has_key('obj'): continue
            obj = items[x]['obj']
            items[x]['Description'] = obj.Description()
            items[x]['replace']['Title'] = "<a href='%s'>%s</a>" % \
                 (items[x]['url'], items[x]['Title'])

        return items

schema = ATFolderSchema.copy()
class DrugProhibitions(ATFolder):
    implements(IDrugProhibitions)
    displayContentsTab = False
    schema = schema

schemata.finalizeATCTSchema(schema, folderish = True, moveDiscussion = False)
atapi.registerType(DrugProhibitions, PROJECTNAME)
Пример #3
0
# -*- coding: utf-8 -*-
from plone.app.folder.folder import ATFolder, ATFolderSchema
from Products.ATContentTypes.content.base import registerATCT
from Products.Archetypes import atapi

RichFolderSchema = ATFolderSchema.copy() + atapi.Schema((
    atapi.TextField('text',
                    default_output_type='text/x-html-safe',
                    widget=atapi.RichWidget(),
                    ),
))


class RichFolder(ATFolder):
    """ sample content type for testing purposes """

    schema = RichFolderSchema
    portal_type = 'RichFolder'

registerATCT(RichFolder, 'plone.app.iterate')


def addRichFolder(container, id, **kwargs):
    """ at-constructor copied from ClassGen.py """
    obj = RichFolder(id)
    container._setObject(id, obj, suppress_events=True)
    obj = container._getOb(id)
    obj.manage_afterAdd(obj, container)
    obj.initializeArchetype(**kwargs)
    return obj.getId()
Пример #4
0
                         'Description',
                         'Gender']},
            {'id':'all',
             'title': _('All'),
             'contentFilter':{},
             'columns': ['Title',
                         'Description',
                         'Gender']},
        ]

    def folderitems(self):
        items=BikaListingView.folderitems(self)
        for x in range(len(items)):
            if not items[x].has_key('obj'): continue
            obj=items[x]['obj']
            items[x]['Description']=obj.Description()
            items[x]['Gender']=GENDERS_APPLY.getValue(obj.getGender())
            items[x]['replace']['Title']="<a href='%s'>%s</a>"%\
                 (items[x]['url'],items[x]['Title'])

        return items

schema=ATFolderSchema.copy()
class Symptoms(ATFolder):
    implements(ISymptoms)
    displayContentsTab=False
    schema=schema

schemata.finalizeATCTSchema(schema,folderish=True,moveDiscussion=False)
atapi.registerType(Symptoms,PROJECTNAME)
Пример #5
0
from Products.DataGridField.DataGridField import FixedRow
from Products.DataGridField.FixedColumn import FixedColumn
from Products.DataGridField.SelectColumn import SelectColumn
from rg.prenotazioni import prenotazioniMessageFactory as _
from rg.prenotazioni.config import PROJECTNAME
from rg.prenotazioni.interfaces import IPrenotazioniFolder
from zope.interface import implements

try:
    from plone.app.folder.folder import ATFolder as BaseFolder
    from plone.app.folder.folder import ATFolderSchema as BaseFolderSchema
except ImportError:
    from Products.ATContentTypes.content.folder import ATBTreeFolder as BaseFolder
    from Products.ATContentTypes.content.folder import ATBTreeFolderSchema as BaseFolderSchema

PrenotazioniFolderSchema = BaseFolderSchema.copy() + atapi.Schema((

    # -*- Your Archetypes field definitions here ... -*-
    atapi.TextField(
        'descriptionAgenda',
        required=False,
        searchable=True,
        storage=atapi.AnnotationStorage(migrate=True),
        validators=('isTidyHtmlWithCleanup', ),
        default_output_type='text/x-html-safe',
        widget=atapi.RichWidget(
            description=("Inserire il testo di presentazione "
                         "dell'agenda corrente"),
            label=_(u'Descrizione Agenda', default=u''),
            rows=10,
            allow_file_upload=zconf.ATDocument.allow_document_upload),
Пример #6
0
# -*- coding: utf-8 -*-
from plone.app.folder.folder import ATFolder, ATFolderSchema
from Products.ATContentTypes.content.base import registerATCT
from Products.Archetypes import atapi

RichFolderSchema = ATFolderSchema.copy() + atapi.Schema((atapi.TextField(
    'text',
    default_output_type='text/x-html-safe',
    widget=atapi.RichWidget(),
), ))


class RichFolder(ATFolder):
    """ sample content type for testing purposes """

    schema = RichFolderSchema
    portal_type = 'RichFolder'


registerATCT(RichFolder, 'plone.app.iterate')


def addRichFolder(container, id, **kwargs):
    """ at-constructor copied from ClassGen.py """
    obj = RichFolder(id)
    container._setObject(id, obj, suppress_events=True)
    obj = container._getOb(id)
    obj.manage_afterAdd(obj, container)
    obj.initializeArchetype(**kwargs)
    return obj.getId()
Пример #7
0
# -*- coding: utf-8 -*-
from zope.interface import implements
from plone.app.folder.folder import ATFolder, ATFolderSchema
from Products.Archetypes import atapi
from Products.ATContentTypes.content import schemata
from mpdg.govbr.observatorio.content.interfaces import IComentario
from mpdg.govbr.observatorio.config import PROJECTNAME
from mpdg.govbr.observatorio import MessageFactory as _
from DateTime.DateTime import DateTime

ComentarioSchema = ATFolderSchema.copy() + atapi.Schema(
    (atapi.StringField(
        name='nome',
        required=True,
        widget=atapi.StringWidget(label=_(u"Nome"), description=_(u"")),
    ),
     atapi.StringField(
         name='email',
         required=True,
         widget=atapi.StringWidget(label=_(u"E-mail"), description=_(u"")),
     ),
     atapi.TextField(
         name='comentario',
         required=False,
         searchable=True,
         storage=atapi.AnnotationStorage(migrate=True),
         widget=atapi.TextAreaWidget(
             label=_(u"Comentário"),
             description=_(u""),
             rows=5,
         ),
# -*- coding: utf-8 -*-
from mpdg.govbr.faleconosco import MessageFactory as _
from mpdg.govbr.faleconosco.config import PROJECTNAME
from mpdg.govbr.faleconosco.interfaces import IFaleConosco
from plone.app.folder.folder import ATFolder
from plone.app.folder.folder import ATFolderSchema
from Products.Archetypes import atapi
from Products.ATContentTypes.content import schemata
from zope.interface import implements

FaleConoscoSchema = ATFolderSchema.copy() + atapi.Schema((
    atapi.StringField(
        name='nome',
        required=True,
        widget=atapi.StringWidget(label=_(u'Nome'), description=_(u'')),
    ),
    atapi.StringField(
        name='assunto',
        required=True,
        widget=atapi.StringWidget(label=_(u'Assunto'), description=_(u'')),
    ),
    atapi.StringField(
        name='email',
        required=True,
        widget=atapi.StringWidget(label=_(u'E-mail'), description=_(u'')),
    ),
    atapi.StringField(
        name='responsavel',
        required=False,
        searchable=True,
        widget=atapi.StringWidget(label=_(u'Responsavel'), description=_(u'')),