Beispiel #1
0
class ServerTimezonePropertiesEditForm(AdminModalEditForm):
    """Server timezone properties edit form"""

    title = _("Server timezone")
    legend = _("Properties")

    fields = Fields(IServerTimezone)

    _edit_permission = MANAGE_SYSTEM_PERMISSION
Beispiel #2
0
class NavigationAlertMessage(AlertMessage):
    """Navigation alert message"""

    status = 'danger'
    icon_class = 'fas fa-exclamation-triangle'
    header = _("Warning!")
    _message = _(
        """Removing navigation menus will also remove access to this form..."""
    )
Beispiel #3
0
class SearchForm(AdminAddForm):
    """Base search form"""

    title = _("Search form")
    legend = _("Search criteria")

    fields = Fields(ISearchInfo)
    buttons = Buttons(ISearchButtons)

    ajax_form_handler = 'search-results.html'
    ajax_form_target = '#search-results'
Beispiel #4
0
class ZMIConfigurationForm(AdminEditForm):
    """ZMI configuration form"""

    title = _("ZMI configuration")
    legend = _("Interface configuration")

    fields = Fields(IZMIConfiguration).select('site_name', 'home_name',
                                              'application_name',
                                              'application_package',
                                              'inner_package_name',
                                              'inner_package', 'environment',
                                              'myams_bundle', 'favicon')

    def get_content(self):
        return IZMIConfiguration(self.context)
Beispiel #5
0
class EnvironmentVariablesView(InnerTableAdminView, ViewContentProvider):
    """Environment view"""

    table_class = EnvironmentTable
    table_label = _("Environment variables")

    hide_section = True

    weight = 20
Beispiel #6
0
class EnvironmentNameColumn(NameColumn):
    """Environment name column"""

    i18n_header = _("Variable name")
    weight = 10

    def get_value(self, obj):
        """Value getter"""
        return obj
Beispiel #7
0
class PackagesVersionsView(InnerTableAdminView, ViewContentProvider):
    """Packages versions view"""

    table_class = PackagesVersionsTable
    table_label = _("Packages versions")

    hide_section = True

    weight = 10
Beispiel #8
0
class ConfigurationView(InnerTableAdminView, ViewContentProvider):
    """Packages versions view"""

    table_class = ConfigurationTable
    table_label = _("Configuration settings")

    hide_section = True

    weight = 30
Beispiel #9
0
class UserSkinPropertiesEditForm(AdminEditForm):
    """User skin properties edit form"""

    title = _("Graphic theme")

    def __init__(self, context, request):
        super().__init__(context, request)
        if not IUserSkinnable(context).can_inherit_skin:
            alsoProvides(self, IUserSkinPropertiesForm)
Beispiel #10
0
class ConfigurationNameColumn(NameColumn):
    """Setting name column"""

    i18n_header = _("Setting name")
    weight = 10

    def get_value(self, obj):
        """Value getter"""
        return obj
Beispiel #11
0
class EnvironmentValueColumn(NameColumn):
    """Environment value column"""

    i18n_header = _("Value")
    weight = 20

    def get_value(self, obj):
        """Value getter"""
        environ = self.table.environ
        return environ.get(obj)
Beispiel #12
0
class PackagePathColumn(NameColumn):
    """Package path column"""

    i18n_header = _("Path")
    weight = 30

    def get_value(self, obj):
        """Value getter"""
        environment = self.table.values
        return environment[obj][0].location
Beispiel #13
0
class PackageVersionColumn(NameColumn):
    """Package version column"""

    i18n_header = _("Version")
    weight = 20

    def get_value(self, obj):
        """Value getter"""
        environment = self.table.values
        return environment[obj][0].version
Beispiel #14
0
class ZMIConfigurationMiscGroup(Group):
    """ZMI configuration misc fields"""

    legend = _("Custom extensions")

    fields = Fields(IZMIConfiguration).select('custom_stylesheet',
                                              'base_body_css_class',
                                              'custom_script')

    weight = 50
Beispiel #15
0
class ConfigurationValueColumn(NameColumn):
    """Setting value column"""

    i18n_header = _("Value")
    weight = 20

    def get_value(self, obj):
        """Value getter"""
        settings = self.table.values
        return settings.get(obj)
Beispiel #16
0
class PackagesNameColumn(NameColumn):
    """Package name column"""

    i18n_header = _("Package name")
    weight = 10

    def get_value(self, obj):
        """Value getter"""
        environment = self.table.values
        return environment[obj][0].project_name
Beispiel #17
0
class IZMIConfiguration(Interface):
    """Static management configuration interface"""

    site_name = TextLine(title=_("Site name"),
                         default='PyAMS website',
                         required=False)

    home_name = I18nTextLineField(title=_("Home name"),
                                  description=_("Label used to get access to site's root in "
                                                "breadcrumbs link"),
                                  required=False)

    application_name = TextLine(title=_("Application name"),
                                default='PyAMS',
                                required=False)

    application_package = TextLine(title=_("Application package"),
                                   description=_("Name of the main package used to get "
                                                 "application version"),
                                   default='pyams_zmi',
                                   required=False)

    inner_package_name = TextLine(title=_("Secondary name"),
                                  required=False)

    inner_package = TextLine(title=_("Secondary package"),
                             description=_("Name of the secondary package used to complete "
                                           "application version"),
                             required=False)

    environment = TextLine(title=_("Environment name"),
                           description=_("Short text used to describe runtime environment"),
                           required=False)

    version = Attribute("Application version")

    myams_bundle = Choice(title=_("MyAMS bundle"),
                          description=_("MyAMS bundle used by the application"),
                          vocabulary=MYAMS_BUNDLES_VOCABULARY,
                          default='full')

    favicon = ImageField(title=_("Icon"),
                         description=_("Favorites icon"),
                         required=False)

    include_header = Bool(title=_("Include header"),
                          required=False,
                          default=True)

    fixed_header = Bool(title=_("Fixed header"),
                        description=_("If selected, the header will not scroll but will stay "
                                      "fixed at the top of the screen"),
                        required=False,
                        default=True)

    logo = ImageField(title=_("Logo image"),
                      description=_("SVG or bitmap image used as logo"),
                      required=False)

    include_site_search = Bool(title=_("Include site search"),
                               description=_("Include a global site search access link "
                                             "in page header"),
                               required=False,
                               default=False)

    site_search_placeholder = I18nTextLineField(title=_("Site search placeholder"),
                                                required=False)

    site_search_handler = TextLine(title=_("Site search handler"),
                                   required=False,
                                   default='#search.html')

    include_menus = Bool(title=_("Include navigation menus"),
                         required=False,
                         default=True)

    include_minify_button = Bool(title=_("Include minify buttons"),
                                 description=_("If selected, this will provide features to "
                                               "reduce or hide navigation menus"),
                                 required=True,
                                 default=True)

    fixed_navigation = Bool(title=_("Fixed menus"),
                            required=True,
                            default=False)

    accordion_menus = Bool(title=_("Accordion menus"),
                           description=_("If selected, only one navigation menu can be opened "
                                         "at a given time"),
                           required=True,
                           default=True)

    include_ribbon = Bool(title=_("Include ribbon"),
                          description=_("Display breadcrumbs ribbon?"),
                          required=False,
                          default=True)

    fixed_ribbon = Bool(title=_("Fixed ribon"),
                        description=_("If selected, the ribbon will not scroll but will stay "
                                      "fixed at the top of the page"),
                        required=True,
                        default=True)

    base_body_css_class = TextLine(title=_("Base body CSS class"),
                                   required=False)

    body_css_class = Attribute("HTML body CSS class")

    custom_stylesheet = FileField(title=_("Custom stylesheet"),
                                  description=_("Custom stylesheet used to override or extend "
                                                "default MyAMS management skin"),
                                  required=False)

    custom_script = FileField(title=_("Custom script"),
                              description=_("Custom javascript used to override or extend "
                                            "default MyAMS modules"),
                              required=False)
Beispiel #18
0
from zope.schema import Bool, Choice, TextLine
from zope.schema.vocabulary import SimpleTerm, SimpleVocabulary

from myams_js import emerald_core_svg_bundle, emerald_mini_svg_bundle, myams_core_svg_bundle, \
    myams_full_bundle, myams_mini_svg_bundle
from pyams_file.schema import FileField, ImageField
from pyams_i18n.schema import I18nTextLineField


__docformat__ = 'restructuredtext'

from pyams_zmi import _


MYAMS_BUNDLES = OrderedDict((
    ('full', (myams_full_bundle, _("MyAMS full bundle"))),
    ('mini+svg', (myams_mini_svg_bundle, _("MyAMS mini bundle (with SVG icons)"))),
    ('core+svg', (myams_core_svg_bundle, _("MyAMS core bundle (with SVG icons)"))),
    ('emerald-mini', (emerald_mini_svg_bundle, _("Emerald mini bundle (with SVG icons)"))),
    ('emerald-core', (emerald_core_svg_bundle, _("Emerald core bundle (with SVG icons)")))
))

MYAMS_BUNDLES_VOCABULARY = SimpleVocabulary(
    [SimpleTerm(k, title=v[1]) for k, v in MYAMS_BUNDLES.items()])


class IZMIConfiguration(Interface):
    """Static management configuration interface"""

    site_name = TextLine(title=_("Site name"),
                         default='PyAMS website',
Beispiel #19
0
class UtilitiesView(TableAdminView):
    """Utilities view"""

    title = _("Control panel")
    table_class = UtilitiesTable
    table_label = _("Site utilities")
Beispiel #20
0
class UtilitiesMenuItem(NavigationMenuItem):
    """Utilities menu item"""

    label = _("Utilities")
    icon_class = 'fab fa-codepen'
    href = '#utilities.html'
Beispiel #21
0
 def legend(self):
     if IUserSkinnable(self.context).can_inherit_skin:
         return None
     return _("Skin properties")
Beispiel #22
0
class ActionsViewletManager(DropdownMenu):
    """Custom actions menu"""

    label = _("Actions")
    css_class = 'btn-sm'
Beispiel #23
0
class UserSkinnablePropertiesMenuItem(NavigationMenuItem):
    """User skin properties menu"""

    label = _("Graphic theme")
    href = '#user-skin-properties.html'
Beispiel #24
0
class ConfigurationMenu(NavigationMenuItem):
    """Configuration menu"""

    label = _("Configuration")
    icon_class = 'fas fa-sliders-h'
Beispiel #25
0
class EnvironmentView(MultipleTablesAdminView):
    """Environment view"""

    table_label = _("Application runtime environment")
Beispiel #26
0
class EnvironmentMenu(NavigationMenuItem):
    """Environment menu"""

    label = _("Environment")
    href = '#environment.html'
Beispiel #27
0
class ZMIConfigurationMenu(NavigationMenuItem):
    """ZMI configuration menu"""

    label = _("ZMI configuration")

    href = '#zmi-configuration.html'
Beispiel #28
0
class LogoutMenuItem(MenuItem):
    """Logout menu item"""

    icon_class = 'fa fa-sign-out-alt'
    label = _("Logout")
    href = 'logout'
Beispiel #29
0
class AdminSkin:
    """PyAMS administration skin"""

    label = _("PyAMS management skin")
    layer = IAdminLayer
Beispiel #30
0
class ContentManagementMenu(NavigationMenu):
    """Content management menu"""

    _header = _("Content management")