def __call__(self, context): terms = [] terms.append(SimpleVocabulary.createTerm(u'Català', 'ca', _(u'Català'))) terms.append(SimpleVocabulary.createTerm(u'Castellà', 'es', _(u'Español'))) terms.append(SimpleVocabulary.createTerm(u'English', 'en', _(u'English'))) return SimpleVocabulary(terms)
def __call__(self, context): terms = [] terms.append(SimpleVocabulary.createTerm(u'Català', 'ca', _(u'Català'))) terms.append( SimpleVocabulary.createTerm(u'Castellà', 'es', _(u'Español'))) terms.append( SimpleVocabulary.createTerm(u'English', 'en', _(u'English'))) return SimpleVocabulary(terms)
class ITableQuickLinks(form.Schema): language = schema.Choice( title=_(u'Language'), required=True, vocabulary=u'plone.app.vocabularies.SupportedContentLanguages') text = schema.TextLine(title=_(u'Text'), required=False) link = schema.TextLine(title=_(u'Link'), required=False) icon = schema.TextLine(title=_(u'Font Awesome Icon'), required=False) new_window = schema.Bool(title=_(u'New window'), required=False, default=True)
def handleSave(self, action): data, errors = self.extractData() if errors: self.status = self.formErrorsMessage return self.applyChanges(data) if data.get('nonvisibles', False): """ Make users invisible in searches """ maxclient, settings = getUtility(IMAXClient)() maxclient.setActor(settings.max_restricted_username) maxclient.setToken(settings.max_restricted_token) current_vips = maxclient.admin.security.get() current_vips = current_vips.get('roles').get('NonVisible', []) un_vip = [ a for a in current_vips if a not in data.get('nonvisibles') ] for user in un_vip: maxclient.admin.security.roles['NonVisible'].users[ user].delete() make_vip = [ vip for vip in data.get('nonvisibles') if vip not in current_vips ] for user in make_vip: maxclient.admin.security.roles['NonVisible'].users[user].post() if data.get('activate_sharedwithme', True): if api.portal.get_registry_record( 'genweb.controlpanel.core.IGenwebCoreControlPanelSettings.elasticsearch' ) is not None: portal = api.portal.get() if portal.portal_actions.object.local_roles.visible is False: portal.portal_actions.object.local_roles.visible = True transaction.commit() else: IStatusMessage(self.request).addStatusMessage( _(u'Has marcat el comparteix pero falta la url del elasticsearch' ), 'info') else: portal = api.portal.get() if portal.portal_actions.object.local_roles.visible is True: portal.portal_actions.object.local_roles.visible = False transaction.commit() IStatusMessage(self.request).addStatusMessage(_(u'Changes saved'), 'info') self.context.REQUEST.RESPONSE.redirect('@@ulearn-controlpanel')
def __call__(self, context): terms = [] terms.append( SimpleVocabulary.createTerm(u'Darreres activitats', 'darreres_activitats', _(u'Darreres activitats'))) terms.append( SimpleVocabulary.createTerm(u'Activitats mes valorades', 'activitats_mes_valorades', _(u'Activitats mes valorades'))) terms.append( SimpleVocabulary.createTerm(u'Activitats destacades', 'activitats_destacades', _(u'Activitats destacades'))) return SimpleVocabulary(terms)
def render(self): pc = api.portal.get_tool(name='portal_catalog') communities = pc.searchResults(portal_type='ulearn.community') for community in communities: community = community.getObject() if 'discussion' not in community.objectIds(): # Create the default discussion container and set title discussion = createContentInContainer(community, 'Folder', title='discussion', checkConstraints=False) discussion.setTitle(community.translate(_(u'Discussion'))) discussion.setLayout('discussion_folder_view') alsoProvides(discussion, IDiscussionFolder) behavior = ISelectableConstrainTypes(discussion) behavior.setConstrainTypesMode(1) behavior.setLocallyAllowedTypes(('ulearn.discussion', 'Folder')) behavior.setImmediatelyAddableTypes(('ulearn.discussion', 'Folder')) # Blacklist the right column portlets on discussion right_manager = queryUtility(IPortletManager, name=u'plone.rightcolumn') blacklist = getMultiAdapter((discussion, right_manager), ILocalPortletAssignmentManager) blacklist.setBlacklistStatus(CONTEXT_CATEGORY, True) discussion.reindexObject() logger.info('Created discussion folder in {}'.format(community.absolute_url())) return 'Done.'
def get_communities(self): """ Gets the communities to show in the stats selectize dropdown """ pc = api.portal.get_tool('portal_catalog') all_communities = [{'hash': 'all', 'title': _(u'Todas las comunidades')}] all_communities += [{'hash': community.community_hash, 'title': community.Title} for community in pc.searchResults(portal_type='ulearn.community')] return json.dumps(all_communities)
def handleSave(self, action): data, errors = self.extractData() if errors: self.status = self.formErrorsMessage return self.applyChanges(data) if data.get('nonvisibles', False): """ Make users invisible in searches """ maxclient, settings = getUtility(IMAXClient)() maxclient.setActor(settings.max_restricted_username) maxclient.setToken(settings.max_restricted_token) current_vips = maxclient.admin.security.get() current_vips = current_vips.get('roles').get('NonVisible', []) un_vip = [a for a in current_vips if a not in data.get('nonvisibles')] for user in un_vip: maxclient.admin.security.roles['NonVisible'].users[user].delete() make_vip = [vip for vip in data.get('nonvisibles') if vip not in current_vips] for user in make_vip: maxclient.admin.security.roles['NonVisible'].users[user].post() if data.get('activate_sharedwithme', True): if api.portal.get_registry_record('genweb.controlpanel.core.IGenwebCoreControlPanelSettings.elasticsearch') is not None: portal = api.portal.get() if portal.portal_actions.object.local_roles.visible is False: portal.portal_actions.object.local_roles.visible = True transaction.commit() else: IStatusMessage(self.request).addStatusMessage(_(u'Has marcat el comparteix pero falta la url del elasticsearch'), 'info') else: portal = api.portal.get() if portal.portal_actions.object.local_roles.visible is True: portal.portal_actions.object.local_roles.visible = False transaction.commit() IStatusMessage(self.request).addStatusMessage(_(u'Changes saved'), 'info') self.context.REQUEST.RESPONSE.redirect('@@ulearn-controlpanel')
class IReservaBBB(form.Schema): """ Form for BBB reservation - Paràmetres: Servidor, Data inici, Durada, Descripció, Creador, Carrega, Invitats Convidats, Invitats Moderadors, Language Retorna: ID Reserva (permesa), 0 (no permesa). http://corronco.upc.edu:8088/webservices/addReservationNotification.php? servidor =corronco&inici=2013-04-02-13&durada=13&carrega=10&descripcio=D escripcio&owner=u [email protected]&invite_rw=moderator1%40upcnet .es%2Cmoderator2%40upcnet.es&invite_ro=invited1%40upcnet.es%2Cinvited2% 40gmail.com --> exemple """ nom_reunio = schema.TextLine( title=_(u'Nom de la reunió'), description=_(u'Indiqueu la descripció de la reunió virtual.'), required=True) start_date = schema.Datetime( title=_(u'Data d\'inici'), description=_(u'Indiqueu la data d\'inici de la reserva.'), required=True, default=datetime.now()) durada = schema.Choice(title=_(u'Durada de la reunió'), description=_(u'Indiqueu durada de la reunió.'), values=range(1, 25), required=True) invitats_convidats = schema.TextLine( title=_(u'Convidats moderadors'), description=_( u'Llista d\'emails dels convidats MODERADORS, separats per comes.' ), required=True) invitats_espectadors = schema.TextLine( title=_(u'Invitats espectadors'), description=_( u'Llista d\'emails dels convidats ESPECTADORS, separats per comes.' ), required=False)
def get_communities(self): """ Gets the communities to show in the stats selectize dropdown """ pc = api.portal.get_tool('portal_catalog') all_communities = [{ 'hash': 'all', 'title': _(u'Todas las comunidades') }] all_communities += [{ 'hash': community.community_hash, 'title': community.Title } for community in pc.searchResults(portal_type='ulearn.community')] return json.dumps(all_communities)
def get_user_info_for_display(self): user_properties_utility = getUtility(ICatalogFactory, name='user_properties') extender_name = api.portal.get_registry_record('genweb.controlpanel.core.IGenwebCoreControlPanelSettings.user_properties_extender') rendered_properties = [] if extender_name in [a[0] for a in getUtilitiesFor(ICatalogFactory)]: extended_user_properties_utility = getUtility(ICatalogFactory, name=extender_name) for prop in extended_user_properties_utility.profile_properties: rendered_properties.append(dict( name=_(prop), value=self.user_info.getProperty(prop, '') )) return rendered_properties else: # If it's not extended, then return the simple set of data we know # about the user using also the profile_properties field for prop in user_properties_utility.profile_properties: rendered_properties.append(dict( name=_(prop), value=self.user_info.getProperty(prop, '') )) return rendered_properties
def render(self): pc = api.portal.get_tool(name='portal_catalog') communities = pc.searchResults(portal_type='ulearn.community') text = [] for community in communities: community = community.getObject() media_folder = community.media behavior = ISelectableConstrainTypes(media_folder) behavior.setConstrainTypesMode(1) behavior.setLocallyAllowedTypes(('Image', 'ulearn.video', 'Folder')) behavior.setImmediatelyAddableTypes(('Image', 'ulearn.video', 'Folder')) if media_folder.title != 'Media': media_folder.setTitle(community.translate(_(u'Media'))) text.append('Added type video to {}\n'.format(community.absolute_url())) return ''.join(text)
def render(self): pc = api.portal.get_tool(name='portal_catalog') communities = pc.searchResults(portal_type='ulearn.community') text = [] for community in communities: community = community.getObject() media_folder = community.media behavior = ISelectableConstrainTypes(media_folder) behavior.setConstrainTypesMode(1) behavior.setLocallyAllowedTypes( ('Image', 'ulearn.video', 'Folder')) behavior.setImmediatelyAddableTypes( ('Image', 'ulearn.video', 'Folder')) if media_folder.title != 'Media': media_folder.setTitle(community.translate(_(u'Media'))) text.append('Added type video to {}\n'.format( community.absolute_url())) return ''.join(text)
def render(self): pc = api.portal.get_tool(name='portal_catalog') communities = pc.searchResults(portal_type='ulearn.community') for community in communities: community = community.getObject() if 'discussion' not in community.objectIds(): # Create the default discussion container and set title discussion = createContentInContainer(community, 'Folder', title='discussion', checkConstraints=False) discussion.setTitle(community.translate(_(u'Discussion'))) discussion.setLayout('discussion_folder_view') alsoProvides(discussion, IDiscussionFolder) behavior = ISelectableConstrainTypes(discussion) behavior.setConstrainTypesMode(1) behavior.setLocallyAllowedTypes( ('ulearn.discussion', 'Folder')) behavior.setImmediatelyAddableTypes( ('ulearn.discussion', 'Folder')) # Blacklist the right column portlets on discussion right_manager = queryUtility(IPortletManager, name=u'plone.rightcolumn') blacklist = getMultiAdapter((discussion, right_manager), ILocalPortletAssignmentManager) blacklist.setBlacklistStatus(CONTEXT_CATEGORY, True) discussion.reindexObject() logger.info('Created discussion folder in {}'.format( community.absolute_url())) return 'Done.'
def handleApply(self, action): portal = getSite() pm = getToolByName(portal, 'portal_membership') lt = getToolByName(portal, 'portal_languages') userid = pm.getAuthenticatedMember() user_email = userid.getProperty('email', '') if not user_email: IStatusMessage(self.request).addStatusMessage( _(u'La reunió no es pot crear perquè l\'usuari no te informat la adreca de correu electrònic.' ), u'error') self.request.response.redirect(portal.absolute_url()) data, errors = self.extractData() if errors: self.status = self.formErrorsMessage return str_start_date = data.get('start_date').isoformat().replace('T', '-')[:-6] str_invitats_convidats = data.get('invitats_convidats', '').replace(' ', '') # Guard because the invitats_espectadors field is not required if data.get('invitats_espectadors', False): str_invitats_espectadors = data.get('invitats_espectadors', '').replace(' ', '') else: str_invitats_espectadors = '' guests = data.get('invitats_convidats') session_load = len(guests.split(',')) payload = dict(servidor=BBB_SERVER, inici=str_start_date, durada=data.get('durada'), carrega=session_load, descripcio=data.get('nom_reunio'), owner=user_email, invite_rw=str_invitats_convidats, invite_ro=str_invitats_espectadors, lang=lt.getDefaultLanguage()) req = requests.post(BBB_ENDPOINT, data=payload) try: # Redirect back to the front page with a status message if int(req.text) > 0: IStatusMessage(self.request).addStatusMessage( _(u'La reunió virtual ha estat creada.'), u'info') else: IStatusMessage(self.request).addStatusMessage( _(u'Hi ha hagut algun problema i la reunió virtual no ha estat creada.' ), u'info') except: IStatusMessage(self.request).addStatusMessage( _(u'Hi ha hagut algun problema i la reunió virtual no ha estat creada.' ), u'info') self.request.response.redirect(portal.absolute_url())
def get_communities(self): all_communities = [{'hash': 'all', 'title': _(u'Todas las comunidades')}] all_communities += [{'hash': community.community_hash, 'title': community.Title} for community in self.catalog.searchResults(portal_type='ulearn.community')] return json.dumps(all_communities)
class IUlearnUserSchema(Interface): """ Redefinition of all the fields because of the ordering """ fullname = schema.TextLine( title=_(u'label_full_name', default=u'Full Name'), description=_(u'help_full_name_creation', default=u'Enter full name, e.g. John Smith.'), required=True) email = schema.ASCIILine(title=_(u'label_email', default=u'E-mail'), description=u'', required=True, constraint=checkEmailAddress) home_page = schema.TextLine( title=_(u'label_homepage', default=u'Home page'), description=_( u'help_homepage', default=_( u'The URL for your external home page, if you have one.')), required=False) description = schema.Text( title=_(u'label_biography', default=u'Biography'), description=_(u'help_biography', default=u'A short overview of who you are and what you ' 'do. Will be displayed on your author page, linked ' 'from the items you create.'), required=False) location = schema.TextLine(title=_(u'label_location', default=u'Location'), description=_( u'help_location', default=u'Your location - either city and ' 'country - or in a company setting, where ' 'your office is located.'), required=False) portrait = FileUpload( title=_(u'label_portrait', default=u'Portrait'), description=_(u'help_portrait', default=u'To add or change the portrait: click the ' '"Browse" button; select a picture of yourself. ' 'Recommended image size is 75 pixels wide by 100 ' 'pixels tall.'), required=False) pdelete = schema.Bool(title=_(u'label_delete_portrait', default=u'Delete Portrait'), description=u'', required=False) twitter_username = schema.TextLine( title=_(u'label_twitter', default=u'Twitter username'), description=_(u'help_twitter', default=u'Fill in your Twitter username.'), required=False, ) ubicacio = schema.TextLine( title=_(u'label_ubicacio', default=u'Ubicació'), description=_(u'help_ubicacio', default=u'Equip, Àrea / Companyia / Departament'), required=False, ) telefon = schema.TextLine( title=_(u'label_telefon', default=u'Telèfon'), description=_(u'help_telefon', default=u'Contacte telefònic'), required=False, ) language = schema.Choice( title=_(u'label_language', default=u'Language'), description=_( u'help_language', default= _(u'Aquest és l\'idioma de l\'espai, que es configura quan el paquet es reinstala.' )), required=False, vocabulary=u"plone.app.vocabularies.SupportedContentLanguages", )
class IVideoEmbed(form.Schema): """ The video embed schema """ video_url = schema.TextLine(title=_(u'video_url'), description=_(u'video_url_description'), required=True)
class reservaBBB(form.SchemaForm): grok.name('addBBBReservation') grok.context(IPloneSiteRoot) grok.require('genweb.member') schema = IReservaBBB ignoreContext = True label = _(u'Create new meeting space') def update(self): super(reservaBBB, self).update() self.request.set('disable_border', True) self.request.set('disable_plone.rightcolumn', True) self.actions['save'].addClass('context') self.actions['cancel'].addClass('standalone') @button.buttonAndHandler(_(u'Save'), name='save') def handleApply(self, action): portal = getSite() pm = getToolByName(portal, 'portal_membership') lt = getToolByName(portal, 'portal_languages') userid = pm.getAuthenticatedMember() user_email = userid.getProperty('email', '') if not user_email: IStatusMessage(self.request).addStatusMessage( _(u'La reunió no es pot crear perquè l\'usuari no te informat la adreca de correu electrònic.' ), u'error') self.request.response.redirect(portal.absolute_url()) data, errors = self.extractData() if errors: self.status = self.formErrorsMessage return str_start_date = data.get('start_date').isoformat().replace('T', '-')[:-6] str_invitats_convidats = data.get('invitats_convidats', '').replace(' ', '') # Guard because the invitats_espectadors field is not required if data.get('invitats_espectadors', False): str_invitats_espectadors = data.get('invitats_espectadors', '').replace(' ', '') else: str_invitats_espectadors = '' guests = data.get('invitats_convidats') session_load = len(guests.split(',')) payload = dict(servidor=BBB_SERVER, inici=str_start_date, durada=data.get('durada'), carrega=session_load, descripcio=data.get('nom_reunio'), owner=user_email, invite_rw=str_invitats_convidats, invite_ro=str_invitats_espectadors, lang=lt.getDefaultLanguage()) req = requests.post(BBB_ENDPOINT, data=payload) try: # Redirect back to the front page with a status message if int(req.text) > 0: IStatusMessage(self.request).addStatusMessage( _(u'La reunió virtual ha estat creada.'), u'info') else: IStatusMessage(self.request).addStatusMessage( _(u'Hi ha hagut algun problema i la reunió virtual no ha estat creada.' ), u'info') except: IStatusMessage(self.request).addStatusMessage( _(u'Hi ha hagut algun problema i la reunió virtual no ha estat creada.' ), u'info') self.request.response.redirect(portal.absolute_url()) @button.buttonAndHandler(_(u'Cancel'), name='cancel') def cancel(self, action): IStatusMessage(self.request).addStatusMessage(_(u'Edit cancelled.'), type='info') self.request.response.redirect(self.context.absolute_url()) return ''
def handleCancel(self, action): IStatusMessage(self.request).addStatusMessage(_(u'Edit cancelled'), 'info') self.request.response.redirect('%s/%s' % (self.context.absolute_url(), self.control_panel_view))
class UlearnControlPanelSettingsForm(controlpanel.RegistryEditForm): """ Ulearn settings form """ schema = IUlearnControlPanelSettings id = 'UlearnControlPanelSettingsForm' label = _(u'Ulearn settings') description = _(u'help_ulearn_settings_editform', default=_(u'uLearn configuration registry.')) def updateFields(self): super(UlearnControlPanelSettingsForm, self).updateFields() def updateWidgets(self): super(UlearnControlPanelSettingsForm, self).updateWidgets() @button.buttonAndHandler(_('Save'), name=None) def handleSave(self, action): data, errors = self.extractData() if errors: self.status = self.formErrorsMessage return self.applyChanges(data) if data.get('nonvisibles', False): """ Make users invisible in searches """ maxclient, settings = getUtility(IMAXClient)() maxclient.setActor(settings.max_restricted_username) maxclient.setToken(settings.max_restricted_token) current_vips = maxclient.admin.security.get() current_vips = current_vips.get('roles').get('NonVisible', []) un_vip = [ a for a in current_vips if a not in data.get('nonvisibles') ] for user in un_vip: maxclient.admin.security.roles['NonVisible'].users[ user].delete() make_vip = [ vip for vip in data.get('nonvisibles') if vip not in current_vips ] for user in make_vip: maxclient.admin.security.roles['NonVisible'].users[user].post() if data.get('activate_sharedwithme', True): if api.portal.get_registry_record( 'genweb.controlpanel.core.IGenwebCoreControlPanelSettings.elasticsearch' ) is not None: portal = api.portal.get() if portal.portal_actions.object.local_roles.visible is False: portal.portal_actions.object.local_roles.visible = True transaction.commit() else: IStatusMessage(self.request).addStatusMessage( _(u'Has marcat el comparteix pero falta la url del elasticsearch' ), 'info') else: portal = api.portal.get() if portal.portal_actions.object.local_roles.visible is True: portal.portal_actions.object.local_roles.visible = False transaction.commit() IStatusMessage(self.request).addStatusMessage(_(u'Changes saved'), 'info') self.context.REQUEST.RESPONSE.redirect('@@ulearn-controlpanel') @button.buttonAndHandler(_('Cancel'), name='cancel') def handleCancel(self, action): IStatusMessage(self.request).addStatusMessage(_(u'Edit cancelled'), 'info') self.request.response.redirect( '%s/%s' % (self.context.absolute_url(), self.control_panel_view))
def __call__(self, context): terms = [] terms.append(SimpleVocabulary.createTerm(u'Darreres activitats', 'darreres_activitats', _(u'Darreres activitats'))) terms.append(SimpleVocabulary.createTerm(u'Activitats mes valorades', 'activitats_mes_valorades', _(u'Activitats mes valorades'))) terms.append(SimpleVocabulary.createTerm(u'Activitats destacades', 'activitats_destacades', _(u'Activitats destacades'))) return SimpleVocabulary(terms)
def handleCancel(self, action): IStatusMessage(self.request).addStatusMessage(_(u'Edit cancelled'), 'info') self.request.response.redirect( '%s/%s' % (self.context.absolute_url(), self.control_panel_view))
class ILiteralQuickLinks(form.Schema): language = schema.Choice( title=_(u'Language'), required=True, vocabulary=u'plone.app.vocabularies.SupportedContentLanguages') text = schema.TextLine(title=_(u'Text'), required=False)
class IUlearnControlPanelSettings(model.Schema): """ Global Ulearn settings. This describes records stored in the configuration registry and obtainable via plone.registry. """ model.fieldset('General', _(u'General'), fields=[ 'campus_url', 'library_url', 'people_literal', 'threshold_winwin1', 'threshold_winwin2', 'threshold_winwin3', 'stats_button', 'info_servei', 'activate_news', 'activate_sharedwithme', 'buttonbar_selected' ]) model.fieldset('Specific', _(u'Specific'), fields=[ 'main_color', 'secondary_color', 'background_property', 'background_color', 'buttons_color_primary', 'buttons_color_secondary', 'maxui_form_bg', 'alt_gradient_start_color', 'alt_gradient_end_color', 'color_community_closed', 'color_community_organizative', 'color_community_open' ]) model.fieldset('Visibility', _(u'Visibility'), fields=['nonvisibles']) model.fieldset( 'Quick Links', _(u'QuickLinks'), fields=['quicklinks_literal', 'quicklinks_icon', 'quicklinks_table']) model.fieldset('UPCnet only', _(u'UPCnet only'), fields=[ 'language', 'activity_view', 'url_forget_password', 'show_news_in_app' ]) campus_url = schema.TextLine( title=_(u'campus_url', default=_(u'URL del campus')), description=_( u'help_campus_url', default=_( u'Afegiu la URL del campus associat a aquestes comunitats.')), required=False, default=u'', ) library_url = schema.TextLine( title=_(u'library_url', default=_(u'URL de la biblioteca')), description=_( u'help_library_url', default= _(u'Afegiu la URL de la biblioteca associada a aquestes comunitats.' )), required=False, default=u'', ) threshold_winwin1 = schema.TextLine( title=_(u'llindar_winwin1', default=_(u'Llindar del winwin 1')), description=_(u'help_llindar_winwin1', default=_(u'Aquest és el llindar del winwin #1.')), required=False, default=u'50', ) threshold_winwin2 = schema.TextLine( title=_(u'llindar_winwin2', default=_(u'Llindar del winwin 2')), description=_(u'help_llindar_winwin2', default=_(u'Aquest és el llindar del winwin #2.')), required=False, default=u'100', ) threshold_winwin3 = schema.TextLine( title=_(u'llindar_winwin3', default=_(u'Llindar del winwin 3')), description=_(u'help_llindar_winwin3', default=_(u'Aquest és el llindar del winwin #3.')), required=False, default=u'500', ) stats_button = schema.Bool( title=_(u'stats_button', default=_(u"Mostrar botó d'accés a estadístiques diàries")), description=_( u'help_stats_button', default= _(u"Mostra o no el botó d'accés a estadístiques diàries a stats/activity i stats/chats" )), required=False, default=False, ) info_servei = schema.TextLine( title=_(u'info_servei', default=_(u'Informació del servei')), description=_(u'help_info_servei', default=_(u'Aquest és l\'enllaç al servei.')), required=False, ) activate_news = schema.Bool( title=_(u'activate_news', default=_(u"Mostra les noticies a les que estic subscrit")), description=_( u'help_activate_news', default= _(u"Mostra o no el botó de Noticies a la tile central de les comunitats" )), required=False, default=False, ) activate_sharedwithme = schema.Bool( title=_(u'activate_sharedwithme', default=_(u"Mostra el que hi ha compartit amb mi")), description=_( u'help_activate_sharedwithme', default= _(u"Mostra o no el botó del que hi ha compartit amb mi i el que hi ha compartit a les comunitats" )), required=False, default=False, ) buttonbar_selected = schema.Choice( title=_(u'buttonbar_selected'), description=_(u'Select the active button in the button bar.'), values=['stream', 'news', 'mycommunities', 'sharedwithme'], required=True, default='stream') main_color = schema.TextLine( title=_(u'main_color', default=_(u'Color principal')), description=_(u'help_main_color', default=_(u'Aquest és el color principal de l\'espai.')), required=True, default=u'#f58d3d', ) secondary_color = schema.TextLine( title=_(u'secondary_color', default=_(u'Color secundari')), description=_(u'help_secondary_color', default=_(u'Aquest és el color secundari de l\'espai.')), required=True, default=u'#f58d3d', ) maxui_form_bg = schema.TextLine( title=_(u'maxui_form_bg', default=_(u'Color del fons del widget de MAX.')), description=_( u'help_maxui_form_bg', default=_(u'Aquest és el color del fons del widget de MAX.')), required=True, default=u'#34495c', ) alt_gradient_start_color = schema.TextLine( title=_(u'alt_gradient_start_color', default=_(u'Color inicial dels gradients.')), description=_( u'help_alt_gradient_start_color', default=_(u'Aquest és el color inicial dels gradients.')), required=True, default=u'#f58d3d', ) alt_gradient_end_color = schema.TextLine( title=_(u'alt_gradient_end_color', default=_(u'Color final dels gradients')), description=_(u'help_alt_gradient_end_color', default=_(u'Aquest és el color final dels gradients.')), required=True, default=u'#f58d3d', ) background_property = schema.TextLine( title=_(u'background_property', default=_(u'Propietat de fons global')), description=_( u'help_background_property', default=_(u'Aquest és la propietat de CSS de background.')), required=True, default=u'transparent', ) background_color = schema.TextLine( title=_(u'background_color', default=_(u'Color de fons global')), description=_( u'help_background_color', default= _(u'Aquest és el color de fons global o la propietat corresponent.' )), required=True, default=u'#eae9e4', ) buttons_color_primary = schema.TextLine( title=_(u'buttons_color_primary', default=_(u'Color primari dels botons')), description=_(u'help_buttons_color_primary', default=_(u'Aquest és el color primari dels botons.')), required=True, default=u'#34495E', ) buttons_color_secondary = schema.TextLine( title=_(u'buttons_color_secondary', default=_(u'Color secundari dels botons')), description=_(u'help_buttons_color_secondary', default=_(u'Aquest és el color secundari dels botons.')), required=True, default=u'#34495E', ) color_community_closed = schema.TextLine( title=_(u'color_community_closed', default=_(u'Color comunitat tancada')), description=_( u'help_color_community_closed', default=_(u'Aquest és el color per les comunitats tancades.')), required=True, default=u'#f58d3d', ) color_community_organizative = schema.TextLine( title=_(u'color_community_organizative', default=_(u'Color comunitat organitzativa')), description=_( u'help_color_community_organizative', default=_( u'Aquest és el color per les comunitats organitzatives.')), required=True, default=u'#b5c035', ) color_community_open = schema.TextLine( title=_(u'color_community_open', default=_(u'Color comunitat oberta')), description=_( u'help_color_community_open', default=_(u'Aquest és el color per les comunitats obertes.')), required=True, default=u'#888888', ) dexterity.write_permission(language='zope2.ViewManagementScreens') language = schema.Choice( title=_(u'language', default=_(u'Idioma de l\'espai')), description=_( u'help_language', default= _(u'Aquest és l\'idioma de l\'espai, que es configura quan el paquet es reinstala.' )), required=True, values=['ca', 'es', 'en'], default='es', ) form.widget(nonvisibles=Select2MAXUserInputFieldWidget) nonvisibles = schema.List( title=_(u'no_visibles'), description= _(u'Llista amb les persones que no han de sortir a les cerques i que tenen accés restringit per les demés persones.' ), value_type=schema.TextLine(), required=False, default=[]) people_literal = schema.Choice( title=_(u'people_literal'), description= _(u'Literals que identifiquen als usuaris de les comunitats i les seves aportacions.' ), values=['thinnkers', 'persones', 'participants'], required=False, default='persones') form.widget(quicklinks_literal=DataGridFieldFactory) quicklinks_literal = schema.List( title=_(u'Text Quick Links'), description=_(u'help_quicklinks_table'), value_type=DictRow(schema=ILiteralQuickLinks)) quicklinks_icon = schema.TextLine( title=_(u'quicklinks_icon', default='icon-link'), description=_( u'help_quicklinks_icon', default=_( u'Afegiu la icona del Font Awesome que voleu que es mostri')), required=False, default=u'', ) form.widget(quicklinks_table=DataGridFieldFactory) quicklinks_table = schema.List(title=_(u'QuickLinks'), description=_(u'help_quicklinks_literal'), value_type=DictRow(schema=ITableQuickLinks)) activity_view = schema.Choice(title=_(u'activity_view'), description=_(u'help_activity_view'), vocabulary=u'ulearn.core.activity_view', required=True, default=_(u'Darreres activitats')) url_forget_password = schema.TextLine( title=_(u'url_forget_password', default=_(u'URL contrasenya oblidada')), description=_( u'help_url_forget_password', default= _(u'Url per defecte: "/mail_password_form?userid=". Per a dominis externs indiqueu la url completa, "http://www.domini.cat"' )), required=True, default=_(u'/mail_password_form?userid=')) show_news_in_app = schema.Bool( title=_(u'show_news_in_app', default=_(u"Show News Items in App")), description=_( u'help_show_news_in_app', default= _(u"If selected, then gives the option to show the News Items in Mobile App." )), required=False, default=False, )
def get_posts_literal(self): literal = api.portal.get_registry_record(name='ulearn.core.controlpanel.IUlearnControlPanelSettings.people_literal') if literal == 'thinnkers': return 'thinnkins' else: return _(u'entrades')
def cancel(self, action): IStatusMessage(self.request).addStatusMessage(_(u'Edit cancelled.'), type='info') self.request.response.redirect(self.context.absolute_url()) return ''