class ICategorization(model.Schema): # directives.mode(subjects="hidden") subjects = schema.Tuple( title=_(u'label_tags', default=u'Tags'), description=_( u'help_tags', default=u'Tags are commonly used for ad-hoc organization of ' + u'content.'), value_type=schema.TextLine(), required=False, missing_value=(), ) directives.widget('subjects', AjaxSelectFieldWidget, vocabulary='plone.app.vocabularies.Keywords') directives.mode(language="hidden") language = schema.Choice( title=_(u'label_language', default=u'Language'), vocabulary='plone.app.vocabularies.AvailableContentLanguages', required=False, missing_value='', defaultFactory=default_language, ) directives.widget('language', SelectFieldWidget) directives.omitted('subjects', 'language') directives.no_omit(IEditForm, 'subjects', 'language') directives.no_omit(IAddForm, 'subjects', 'language')
class IPublication(model.Schema): # dates fieldset model.fieldset( 'dates', label=_(u'label_schema_dates', default=u'Dates'), fields=['effective', 'expires'], ) effective = schema.Datetime( title=_(u'label_effective_date', u'Publishing Date'), description=_( u'help_effective_date', default=u"If this date is in the future, the content will " u"not show up in listings and searches until this date."), required=False) directives.widget('effective', DatetimeFieldWidget) expires = schema.Datetime( title=_(u'label_expiration_date', u'Expiration Date'), description=_(u'help_expiration_date', default=u"When this date is reached, the content will no" u"longer be visible in listings and searches."), required=False) directives.widget('expires', DatetimeFieldWidget) @invariant def validate_start_end(data): if data.effective and data.expires and data.effective > data.expires: raise EffectiveAfterExpires( _("error_expiration_must_be_after_effective_date", default=u"Expiration date must be after publishing date.")) directives.omitted('effective', 'expires') directives.no_omit(IEditForm, 'effective', 'expires') directives.no_omit(IAddForm, 'effective', 'expires')
class IOldFields(model.Schema): """ Add Old Fields """ # form.mode(oldPicturePath='hidden') oldPicturePath = schema.TextLine( title=_(u"Old Picture Path"), required=False, ) form.mode(oldKeywords='hidden') oldKeywords = schema.TextLine( title=_(u"Old Keywords"), required=False, ) form.mode(oldCreateTime='hidden') oldCreateTime = schema.Datetime( title=_(u"Old Create Time"), required=False, ) form.mode(oldEbookURL='hidden') oldEbookURL = schema.TextLine( title=_(u"Old Ebook URL"), required=False, )
class IKeywords(model.Schema): """ Add keywords for Article """ keywords = schema.TextLine( title=_(u"Keywords"), description=_(u"Keywords for article, separate use ','"), required=False, )
class AddForm(base.AddForm): schema = IEmbedHTML label = _(u"Add EmbedHTML Portlet") description = _(u"This portlet rendering EmbedHTML.") def create(self, data): return Assignment( text=data.get('text', ''), embedCode=data.get('embedCode'), )
class AddForm(base.AddForm): schema = ITabs label = _(u"Add Tabs Portlet") description = _(u"This portlet rendering Tabs.") def create(self, data): return Assignment( text=data.get('text', ''), tabs=data.get('tabs'), )
class IEmbedHTML(IPortletDataProvider): text = schema.TextLine( title=_(u"Title"), required=False, ) embedCode = schema.Text( title=_(u"Embed code"), required=False, )
class ITabs(IPortletDataProvider): text = schema.TextLine( title=_(u"Text"), required=False, ) tabs = RelationList( title=_(u"Tabs"), value_type=RelationChoice(title=_(u"Related"), source=CatalogSource(portal_type='Collection'),), required=True, )
class IYoutube(Interface): """ """ youtubeURL = schema.URI( title=_(u"Youtube URL"), required=True, )
class IOriginalUrl(model.Schema): """ Add url field for News Original URL """ # dexterity.write_permission(originalUrl='cmf.ManagePortal') # form.mode(originalUrl='hidden') originalUrl = schema.URI( title=_(u"Original URL"), required=False, )
class IBasic(model.Schema): # default fieldset title = schema.TextLine(title=_(u'label_title', default=u'Title'), required=True) directives.mode(description="hidden") description = schema.TextLine( title=_(u'label_description', default=u'Summary'), description=_(u'help_description', default=u'Used in item listings and search results.'), required=False, missing_value=u'', ) directives.order_before(description='*') directives.order_before(title='*') directives.omitted('title', 'description') directives.no_omit(IEditForm, 'title', 'description') directives.no_omit(IAddForm, 'title', 'description')
class IFeatured(model.Schema): """ Add featured field """ # form.mode(featured='hidden') featured = schema.Bool( title=_(u"Featured"), description=_(u"Checked it for featured."), default=False, required=False, ) shared = schema.Bool( title=_(u"Shared"), default=False, required=False, ) headWeight = schema.Int( title=_(u"Head Weight"), description=_(u"Please set Head Weight value, default:10."), default=10, required=True, )
class IOwnership(model.Schema): # ownership fieldset model.fieldset( 'ownership', label=_('label_schema_ownership', default=u'Ownership'), fields=['creators', 'contributors', 'rights'], ) creators = schema.Tuple( title=_(u'label_creators', u'Creators'), description=_( u'help_creators', default=u"Persons responsible for creating the content of " u"this item. Please enter a list of user names, one " u"per line. The principal creator should come first."), value_type=schema.TextLine(), required=False, missing_value=(), ) directives.widget('creators', AjaxSelectFieldWidget, vocabulary='plone.app.vocabularies.Users') contributors = schema.Tuple( title=_(u'label_contributors', u'Contributors'), description=_(u'help_contributors', default=u"The names of people that have contributed " u"to this item. Each contributor should " u"be on a separate line."), value_type=schema.TextLine(), required=False, missing_value=(), ) directives.widget('contributors', AjaxSelectFieldWidget, vocabulary='plone.app.vocabularies.Users') rights = schema.Text( title=_(u'label_copyrights', default=u'Rights'), description=_( u'help_copyrights', default=u'Copyright statement or other rights information on this ' u'item.'), required=False, ) directives.omitted('creators', 'contributors', 'rights') directives.no_omit(IEditForm, 'creators', 'contributors', 'rights') directives.no_omit(IAddForm, 'creators', 'contributors', 'rights')
class ICover(Interface): """ """ mainSliderNews = schema.Text( title=_(u"Main Slider News"), description= _(u"Please input news id, per line one id, sorted on modified, max 10 news." ), required=False, ) todayNews = schema.Text( title=_(u"Today news"), description= _(u"Please input news id, per line one id, sorted on modified, max 8 news." ), required=False, ) tabsName = schema.Text( title=_(u"Tabs Name"), description= _(u"Please input tabs name, per line 5 tabs, Separated by commas, max 3 lines." ), required=False, ) ebooks = schema.Text( title=_(u"Ebooks Introduction"), description= _(u"Please input books id, per line 1 id, In order is Newest, Hotest and eBook." ), required=False, ) rankingNews = schema.Text( title=_(u"Ranking News"), description= _(u"Please input ranking news id, per line one id, sorted on modified, max 6 news." ), required=False, ) # form.mode(radioList='hidden') radioList = schema.Text( title=_(u"Radio List"), description=_(u"Don't edit this, auto renew."), required=False, ) # form.mode(yt_interList='hidden') yt_interList = schema.Text( title=_(u"Youtube International Video List"), description=_(u"Don't edit this, auto renew."), required=False, ) form.mode(liveProgram_1='hidden') liveProgram_1 = schema.Text( title=_(u"Live Program 1"), description=_(u"Live Program 1"), required=False, ) form.mode(liveProgram_2='hidden') liveProgram_2 = schema.Text( title=_(u"Live Program 2"), description=_(u"Live Program 2"), required=False, )
def validate_start_end(data): if data.effective and data.expires and data.effective > data.expires: raise EffectiveAfterExpires( _("error_expiration_must_be_after_effective_date", default=u"Expiration date must be after publishing date."))
def title(self): return _(u"Tabs")
class IFreeContent(model.Schema): """ Add RichText for Free Content """ freeContent = RichText( title=_(u"Free Content"), required=False, )
def title(self): return _(u"EmbedHTML")
class EditForm(base.EditForm): schema = ITabs label = _(u"Edit Tabs Portlet") description = _(u"This portlet rendering Tabs.")
class EditForm(base.EditForm): schema = IEmbedHTML label = _(u"Edit EmbedHTML Portlet") description = _(u"This portlet rendering EmbedHTML.")
class EffectiveAfterExpires(Invalid): __doc__ = _("error_invalid_publication", default=u"Invalid effective or expires date")