Test coverage for vnccollab.theme.settings

vnccollab/      covered 69% (1245 of 4098 uncovered)
    theme/      covered 69% (1245 of 4098 uncovered)
        settings.py      covered 83% (37 of 221 uncovered)

    1: from zope import schema
    1: from zope.interface import Interface
    1: from zope.component import getUtility, provideAdapter
       
    1: from plone import api
    1: from plone.registry.interfaces import IRegistry
    1: from plone.app.registry.browser import controlpanel
    1: from plone.autoform.form import AutoExtensibleForm
    1: from z3c.form import form, button, datamanager
    1: from Products.statusmessages.interfaces import IStatusMessage
    1: from Products.Five.browser.pagetemplatefile import ViewPageTemplateFile
       
    1: from vnccollab.theme import messageFactory as _
       
       
    1: provideAdapter(datamanager.DictionaryField)
       
       
    2: class IWorldClockSettings(Interface):
       
    1:     tz_1 = schema.Choice(
    1:         title=_(u"Clock 1 Timezone"),
    1:         description=u'',
    1:         required=True,
    1:         vocabulary='vnccollab.theme.vocabularies.TimeZonesVocabulary',
    1:         default='Europe/Berlin')
       
    1:     skin_1 = schema.Choice(
    1:         title=_(u"Clock 1 Skin"),
    1:         description=u'',
    1:         required=True,
>>>>>> values=('chunkySwiss', 'chunkySwissOnBlack', 'swissRail', 'vnc',
1: 'vncHeaderViewlet'), 1: default='vncHeaderViewlet') 1: radius_1 = schema.Int( 1: title=_(u"Clock 1 Radius"), 1: description=u'', 1: required=True, 1: default=35) 1: no_seconds_1 = schema.Bool( 1: title=_(u"Clock 1 Without Seconds"), 1: description=_(u"Do not show seconds handle."), 1: required=False, 1: default=False) 1: tz_2 = schema.Choice( 1: title=_(u"Clock 2 Timezone"), 1: description=u'', 1: required=False, 1: vocabulary='vnccollab.theme.vocabularies.TimeZonesVocabulary', 1: default='Asia/Mumbai') 1: skin_2 = schema.Choice( 1: title=_(u"Clock 2 Skin"), 1: description=u'', 1: required=True,
>>>>>> values=('chunkySwiss', 'chunkySwissOnBlack', 'swissRail', 'vnc',
1: 'vncHeaderViewlet'), 1: default='vncHeaderViewlet') 1: radius_2 = schema.Int( 1: title=_(u"Clock 2 Radius"), 1: description=u'', 1: required=False, 1: default=35) 1: no_seconds_2 = schema.Bool( 1: title=_(u"Clock 2 Without Seconds"), 1: description=_(u"Do not show seconds handle."), 1: required=False, 1: default=False) 1: tz_3 = schema.Choice( 1: title=_(u"Clock 3 Timezone"), 1: description=u'', 1: required=False, 1: vocabulary='vnccollab.theme.vocabularies.TimeZonesVocabulary', 1: default='America/New_York') 1: skin_3 = schema.Choice( 1: title=_(u"Clock 3 Skin"), 1: description=u'', 1: required=True,
>>>>>> values=('chunkySwiss', 'chunkySwissOnBlack', 'swissRail', 'vnc',
1: 'vncHeaderViewlet'), 1: default='vncHeaderViewlet') 1: radius_3 = schema.Int( 1: title=_(u"Clock 3 Radius"), 1: description=u'', 1: required=False, 1: default=35) 1: no_seconds_3 = schema.Bool( 1: title=_(u"Clock 3 Without Seconds"), 1: description=_(u"Do not show seconds handle."), 1: required=False, 1: default=False) 2: class WorldClockSettingsEditForm(controlpanel.RegistryEditForm): 1: schema = IWorldClockSettings 1: label = _(u'WorldClock Settings') 1: description = _(u'') 1: def updateFields(self):
>>>>>> super(WorldClockSettingsEditForm, self).updateFields()
1: def updateWidgets(self):
>>>>>> super(WorldClockSettingsEditForm, self).updateWidgets()
2: class WorldClockSettingsControlPanel(controlpanel.ControlPanelFormWrapper): 1: form = WorldClockSettingsEditForm 2: class IOpenERPSettings(Interface): ''' Global OpenERP Settings. Here you define that action ids associate with the database. 1: ''' 1: openerpActions = schema.List( 1: title=u'OpenERP Actions', 1: description=u"Actions, one for line in the format 'id,description'. " u"DO NOT use commas in the description", 1: value_type=schema.TextLine(), 1: required=True, 1: default=[], ) 2: class OpenERPSettingsEditForm(controlpanel.RegistryEditForm): 1: schema = IOpenERPSettings 1: label = u'OpenERP Settings' 1: description = _(u"""""") 2: class OpenERPSettingsControlPanel(controlpanel.ControlPanelFormWrapper): 1: form = OpenERPSettingsEditForm 2: class IAnonymousHomepageSettings(Interface): 1: """Anonymous Homepage Settings.""" 1: help_url = schema.URI( 1: title=_(u'Help URL'), 1: description=_(u'URL of the page that shows the site help.'), 1: required=False, ) 1: show_register_url = schema.Bool( 1: title=_(u'Show Register'), 1: description=_(u'Should Register/Sing Up be shown'), 1: required=False, 1: default=True ) 1: register_url = schema.URI( 1: title=_(u'Register URL'), 1: description=_(u'URL of the page for Registration / Signup page (empty for default).'), 1: required=False, ) 1: show_login_url = schema.Bool( 1: title=_(u'Show Login'), 1: description=_(u'Should Login link be shown'), 1: required=False, 1: default=True ) 1: login_url = schema.URI( 1: title=_(u'Login URL'), 1: description=_(u'URL of the login page (empty for default).'), 1: required=False, ) 2: class IAnonymousHomepageForm(IAnonymousHomepageSettings): 1: """Anonymous Homepage Form.""" 1: logo = schema.Bytes( 1: title=_(u'Homepage Logo'), 1: description=_(u'Upload an image to set or replace the site logo'), 1: required=False, ) 1: delete_logo = schema.Bool( 1: title=_(u"Delete Logo"), 1: description=_(u"Delete the customized logo."), 1: required=False, 1: default=False) 2: class AnonymousHomepageSettingsEditForm(AutoExtensibleForm, form.EditForm): 1: schema = IAnonymousHomepageForm 1: label = u'Anonymous Homepage Settings' 1: description = _(u"""""") # Internal fields: not to be configured. 1: control_panel_view = "plone_control_panel" 1: registry_key_base = 'vnccollab.theme.settings.IAnonymousHomepageSettings' 1: help_url_key = '{0}.help_url'.format(registry_key_base) 1: show_register_url_key = '{0}.show_register_url'.format(registry_key_base) 1: register_url_key = '{0}.register_url'.format(registry_key_base) 1: show_login_url_key = '{0}.show_login_url'.format(registry_key_base) 1: login_url_key = '{0}.login_url'.format(registry_key_base) 1: def getContent(self):
>>>>>> registry = getUtility(IRegistry)
>>>>>> help_url = registry.get(self.help_url_key, '')
>>>>>> show_register_url = registry.get(self.show_register_url_key, True)
>>>>>> register_url = registry.get(self.register_url_key, '')
>>>>>> show_login_url = registry.get(self.show_login_url_key, True)
>>>>>> login_url = registry.get(self.login_url_key, '')
>>>>>> return {'help_url': help_url,
>>>>>> 'show_register_url': show_register_url,
>>>>>> 'register_url': register_url,
>>>>>> 'show_login_url': show_login_url,
>>>>>> 'login_url': login_url,
} 1: def applyChanges(self, data): 8: registry = getUtility(IRegistry) 8: help_url = data.get('help_url', None) 8: show_register_url = data.get('show_register_url', True) 8: register_url = data.get('register_url', None) 8: show_login_url = data.get('show_login_url', True) 8: login_url = data.get('login_url', None) 8: delete_logo = data['delete_logo'] 8: logo = data['logo'] 8: registry[self.help_url_key] = help_url 8: registry[self.show_register_url_key] = show_register_url 8: registry[self.register_url_key] = register_url 8: registry[self.show_login_url_key] = show_login_url 8: registry[self.login_url_key] = login_url 8: portal = api.portal.get() 8: custom_skin = portal.portal_skins.custom 8: destination = custom_skin 8: if delete_logo or logo: 2: current_logo = api.content.get( 2: path='/portal_skins/custom/logo.png') 2: if current_logo: # logo.png could be not defined in ZODB, so current_logo # could be not None and not deleteable 2: try: 2: api.content.delete(current_logo) 1: except: 1: pass 8: if logo: 1: destination.manage_addProduct['OFSP'].manage_addImage('logo.png', 1: logo) 1: def updateActions(self):
>>>>>> super(AutoExtensibleForm, self).updateActions()
>>>>>> self.actions['save'].addClass("context")
>>>>>> self.actions['cancel'].addClass("standalone")
1: @button.buttonAndHandler(_(u"Save"), name='save') def handleSave(self, action):
>>>>>> data, errors = self.extractData()
>>>>>> if errors:
>>>>>> self.status = self.formErrorsMessage
>>>>>> return
>>>>>> self.applyChanges(data)
>>>>>> IStatusMessage(self.request).addStatusMessage(_(u"Changes saved."),
>>>>>> "info")
>>>>>> self.request.response.redirect("%s/%s" % (self.context.absolute_url(),
>>>>>> self.control_panel_view))
1: @button.buttonAndHandler(_(u"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))
1: @button.buttonAndHandler(_(u'Edit Home Page'), name='edit') def handleEdit(self, action):
>>>>>> self.request.response.redirect("%s/%s" % (self.context.absolute_url(),
>>>>>> '@@manage-group-dashboard?key=AnonymousUsers'))
1: @button.buttonAndHandler(_(u'Edit Carousel'), name='carousel') def handleCarousel(self, action):
>>>>>> portal = api.portal.get()
>>>>>> self.request.response.redirect("%s/%s" % (portal.absolute_url(),
>>>>>> '@@edit-carousel'))
2: class AnonymousHomepageSettingsControlPanel(controlpanel.ControlPanelFormWrapper): 1: index = ViewPageTemplateFile('browser/templates/anonhomepage_controlpanel_layout.pt') 1: form = AnonymousHomepageSettingsEditForm