def initialize(): try: from raven.contrib.zope import ZopeSentryHandler except ImportError: return else: sentry_dsn = get_zope_env('SENTRY_DSN') if sentry_dsn: sentry_handler = ZopeSentryHandler(sentry_dsn) publish_error_log.addHandler(sentry_handler)
def get_log_dir(site): """ Each site has its own folder in SITES_LOG_PATH_VAR Factory for returning that folder path. """ abs_path = get_zope_env(SITES_LOG_PATH_VAR) if abs_path: abs_path = os.path.join(abs_path, get_site_slug(site)) if not os.path.exists(abs_path): try: os.makedirs(abs_path) except Exception, e: return None return abs_path
def get_log_dir(site): """ Each site has its own folder in SITES_LOG_PATH_VAR Factory for returning that folder path. """ abs_path = get_zope_env(SITES_LOG_PATH_VAR) if not abs_path: log.warning("Could not find SITES_LOG_PATH_VAR env variable") return None abs_path = os.path.join(abs_path, get_site_slug(site)) if not os.path.exists(abs_path): try: os.makedirs(abs_path) except Exception: return None return abs_path
def _update(self, portal): meta_type = 'Naaya Meeting' NETWORK_NAME = get_zope_env('NETWORK_NAME', '') if not portal.is_pluggable_item_installed(meta_type): self.log.debug('Meeting not installed') return True self.log.debug('Changing meeting schema') schema_tool = portal.getSchemaTool() schema = schema_tool.getSchemaForMetatype(NyMeeting.meta_type) crt_widgets = schema.objectIds() if widgetid_from_propname('is_eionet_meeting') not in crt_widgets: property_schema = get_pluggable_content()[NyMeeting.meta_type][ 'default_schema']['is_eionet_meeting'] if NETWORK_NAME.lower() != 'eionet': property_schema['visible'] = False schema.addWidget('is_eionet_meeting', **property_schema) self.log.debug(('Naaya Meeting schema changes: ' 'added the "Eionet Meeting" widget')) else: self.log.debug( 'Meeting schema already contained is_eionet_meeting-property') return True
def _update(self, portal): meta_type = 'Naaya Meeting' NETWORK_NAME = get_zope_env('NETWORK_NAME', '') if not portal.is_pluggable_item_installed(meta_type): self.log.debug('Meeting not installed') return True self.log.debug('Changing meeting schema') schema_tool = portal.getSchemaTool() schema = schema_tool.getSchemaForMetatype(NyMeeting.meta_type) crt_widgets = schema.objectIds() if widgetid_from_propname('is_eionet_meeting') not in crt_widgets: property_schema = get_pluggable_content()[ NyMeeting.meta_type]['default_schema']['is_eionet_meeting'] if NETWORK_NAME.lower() != 'eionet': property_schema['visible'] = False schema.addWidget('is_eionet_meeting', **property_schema) self.log.debug(('Naaya Meeting schema changes: ' 'added the "Eionet Meeting" widget')) else: self.log.debug( 'Meeting schema already contained is_eionet_meeting-property') return True
def _update(self, portal): # Update meeting types in map symbols if not portal.is_pluggable_item_installed('Naaya Meeting'): self.log.debug('Meeting not installed') return True NETWORK_NAME = get_zope_env('NETWORK_NAME', '') eionet = NETWORK_NAME.lower() == 'eionet' portal_map = portal.getGeoMapTool() if portal_map is not None: if eionet: new_map_symbols = [('conference.png', 'Conference', 10), ('nrc_meeting.png', 'NRC meeting', 20), ('nrc_webinar.png', 'NRC webinar', 30), ('nfp_meeting.png', 'NFP meeting', 40), ('nfp_webinar.png', 'NFP webinar', 50), ('workshop.png', 'Workshop', 60)] else: new_map_symbols = [('conference.png', 'Conference', 10), ('workshop.png', 'Workshop', 60)] for i in range(len(new_map_symbols)): new_map_symbols[i] = (os.path.join(os.path.dirname(__file__), 'www', 'map_symbols', new_map_symbols[i][0]), new_map_symbols[i][1], new_map_symbols[i][2]) map_symbols = portal_map.getSymbolsListOrdered() new_map_symbols_titles = [s[1] for s in new_map_symbols] new_map_symbols_titles.append('Meeting') symbols_to_delete = [sym.id for sym in map_symbols if sym.title in new_map_symbols_titles] symbol_titles = [portal_map.getSymbolTitle(symbol) for symbol in symbols_to_delete] portal_map.adminDeleteSymbols(symbols_to_delete) self.log.debug('Deleted old symbols for %s' % symbol_titles) for filename, symbol_name, sortorder in new_map_symbols: file = open(filename, 'r') symbol = file.read() file.close() portal_map.adminAddSymbol(title=symbol_name, picture=symbol, sortorder=sortorder, id=filename.replace('.png', '')) symbol_titles = [new_symbol[1] for new_symbol in new_map_symbols] self.log.debug('Added symbols for %s' % symbol_titles) # set meeting type based on the former eionet_meeting flag meetings = portal.getCatalogedObjects(meta_type='Naaya Meeting') for meeting in meetings: if not getattr(meeting, 'added_nrc_meeting_type', None): is_eionet_meeting = getattr(meeting, 'is_eionet_meeting', None) if is_eionet_meeting: meeting.geo_type = os.path.join( os.path.dirname(__file__), 'www', 'map_symbols', 'nrc_meeting') self.log.debug('Meeting %s changed to NRC meeting' % meeting.absolute_url()) else: meeting.geo_type = os.path.join( os.path.dirname(__file__), 'www', 'map_symbols', 'conference') self.log.debug('Meeting %s changed to conference' % meeting.absolute_url()) meeting.added_nrc_meeting_type = True if is_eionet_meeting is not None: delattr(meeting, 'is_eionet_meeting') schema_tool = portal.getSchemaTool() schema = schema_tool.getSchemaForMetatype('Naaya Meeting') crt_widgets = schema.objectIds() widget_id = widgetid_from_propname('is_eionet_meeting') if widget_id in crt_widgets: schema.manage_delObjects(widget_id) self.log.debug(('Naaya Meeting schema changes: ' 'removed the "Eionet Meeting" widget')) else: self.log.debug( 'is_eionet_meeting-property not present in Meeting schema') return True
from permissions import (PERMISSION_ADD_MEETING, PERMISSION_PARTICIPATE_IN_MEETING, PERMISSION_ADMIN_MEETING) from participants import Participants from email import EmailSender, configureEmailNotifications from reports import MeetingReports from subscriptions import SignupUsersTool from lxml import etree from lxml.builder import ElementMaker from countries import country_from_country_code from eionet_survey.eionet_survey import EIONET_SURVEYS, EIONET_MEETINGS # module constants NETWORK_NAME = get_zope_env('NETWORK_NAME', '') DEFAULT_SCHEMA = { 'interval': dict(sortorder=140, widget_type='Interval', label='Meeting Interval', data_type='interval', required=True), 'location': dict(sortorder=143, widget_type='String', label='Organization/Building/Room'), 'allow_register': dict(sortorder=147, widget_type='Checkbox', label=('Allow people to register to ' 'participate'), data_type='bool'), 'auto_register': dict(sortorder=148, widget_type='Checkbox', label=('Automatically approve participants ' 'when they register'), data_type='bool'), 'restrict_items': dict(sortorder=149, widget_type='Checkbox', label=('Restrict user access to the contents '
from datetime import datetime from zope.interface import Interface, implements from zope.event import notify from OFS.SimpleItem import SimpleItem from Products.Five.browser import BrowserView from Products.NaayaCore.managers.utils import genObjectId from naaya.groupware.groupware_site import manage_addGroupwareSite from Products.NaayaCore.EmailTool.EmailPageTemplate import EmailPageTemplateFile from naaya.core.zope2util import get_zope_env NETWORK_NAME = get_zope_env('NETWORK_NAME', 'Eionet') approved_mail = EmailPageTemplateFile('emailpt/approved_application.zpt', globals()) rejected_mail = EmailPageTemplateFile('emailpt/rejected_application.zpt', globals()) def make_unicode(s): if isinstance(s, unicode): return s try: return s.decode('utf-8') except: return s.decode('latin-1') class IGWApplication(Interface): """Interface for the GWApplication class """ def approve(self): """Approve the application.
from zope.publisher.browser import BrowserPage from Products.PageTemplates.PageTemplateFile import PageTemplateFile from profileoverview.profile import ProfileClient from constants import GROUPWARE_META_ID from naaya.core.backport import json from naaya.core.zope2util import get_zope_env local_users_zpt = PageTemplateFile('zpt/local_users.zpt', globals()) index_html_zpt = PageTemplateFile('zpt/index.zpt', globals()) eionet_forum_index_html_zpt = PageTemplateFile('zpt/eionet_forum_index.zpt', globals()) archives_index_html_zpt = PageTemplateFile('zpt/archives_index.zpt', globals()) eionet_url = get_zope_env('EIONET_LDAP_EXPLORER', '') NETWORK_NAME = get_zope_env('NETWORK_NAME', 'Eionet') def get_user_id(request): return request.AUTHENTICATED_USER.getId() def grouped_igs(context): """ Return list of Groupware site-s grouped by user access for logged in user, if any """ portals = context.objectValues('Groupware site') sorted_igs = {} for portal in portals:
from sqlalchemy import Column, Integer, String, create_engine, exc from sqlalchemy.orm import sessionmaker from sqlalchemy.ext.declarative import declarative_base from naaya.core.zope2util import get_zope_env Base = declarative_base() DB_USER = get_zope_env('CONGODB_USER') DB_PASSWORD = get_zope_env('CONGODB_PASSWORD') DB_HOST = get_zope_env('CONGODB_HOST') DB_NAME = get_zope_env('CONGODB_NAME') DBTEST_NAME = get_zope_env('CONGODBTEST_NAME') class Document(Base): __tablename__ = 'documents' docid = Column(Integer, primary_key=True) authorid = Column(Integer) imageid = Column(Integer) subject = Column(String) parkid = Column(Integer) topic = Column(String) ref_geo = Column(String) no_collection = Column(String) sujet_bref = Column(String) esp_nom_com = Column(String) esp_nom_lat = Column(String) biomeid = Column(Integer) vegetationid = Column(Integer)
from datetime import datetime from zope.interface import Interface, implements from zope.event import notify from OFS.SimpleItem import SimpleItem from Products.Five.browser import BrowserView from Products.NaayaCore.managers.utils import genObjectId from naaya.groupware.groupware_site import manage_addGroupwareSite from Products.NaayaCore.EmailTool.EmailPageTemplate import EmailPageTemplateFile from naaya.core.zope2util import get_zope_env NETWORK_NAME = get_zope_env('NETWORK_NAME', 'Eionet') approved_mail = EmailPageTemplateFile('emailpt/approved_application.zpt', globals()) rejected_mail = EmailPageTemplateFile('emailpt/rejected_application.zpt', globals()) def make_unicode(s): if isinstance(s, unicode): return s try: return s.decode('utf-8') except: return s.decode('latin-1') class IGWApplication(Interface): """Interface for the GWApplication class """
def _update(self, portal): # Update meeting types in map symbols if not portal.is_pluggable_item_installed('Naaya Meeting'): self.log.debug('Meeting not installed') return True NETWORK_NAME = get_zope_env('NETWORK_NAME', '') eionet = NETWORK_NAME.lower() == 'eionet' portal_map = portal.getGeoMapTool() if portal_map is not None: if eionet: new_map_symbols = [('conference.png', 'Conference', 10), ('nrc_meeting.png', 'NRC meeting', 20), ('nrc_webinar.png', 'NRC webinar', 30), ('nfp_meeting.png', 'NFP meeting', 40), ('nfp_webinar.png', 'NFP webinar', 50), ('workshop.png', 'Workshop', 60)] else: new_map_symbols = [('conference.png', 'Conference', 10), ('workshop.png', 'Workshop', 60)] for i in range(len(new_map_symbols)): new_map_symbols[i] = (os.path.join(os.path.dirname(__file__), 'www', 'map_symbols', new_map_symbols[i][0]), new_map_symbols[i][1], new_map_symbols[i][2]) map_symbols = portal_map.getSymbolsListOrdered() new_map_symbols_titles = [s[1] for s in new_map_symbols] new_map_symbols_titles.append('Meeting') symbols_to_delete = [ sym.id for sym in map_symbols if sym.title in new_map_symbols_titles ] symbol_titles = [ portal_map.getSymbolTitle(symbol) for symbol in symbols_to_delete ] portal_map.adminDeleteSymbols(symbols_to_delete) self.log.debug('Deleted old symbols for %s' % symbol_titles) for filename, symbol_name, sortorder in new_map_symbols: file = open(filename, 'r') symbol = file.read() file.close() portal_map.adminAddSymbol(title=symbol_name, picture=symbol, sortorder=sortorder, id=filename.replace('.png', '')) symbol_titles = [new_symbol[1] for new_symbol in new_map_symbols] self.log.debug('Added symbols for %s' % symbol_titles) # set meeting type based on the former eionet_meeting flag meetings = portal.getCatalogedObjects(meta_type='Naaya Meeting') for meeting in meetings: if not getattr(meeting, 'added_nrc_meeting_type', None): is_eionet_meeting = getattr(meeting, 'is_eionet_meeting', None) if is_eionet_meeting: meeting.geo_type = os.path.join(os.path.dirname(__file__), 'www', 'map_symbols', 'nrc_meeting') self.log.debug('Meeting %s changed to NRC meeting' % meeting.absolute_url()) else: meeting.geo_type = os.path.join(os.path.dirname(__file__), 'www', 'map_symbols', 'conference') self.log.debug('Meeting %s changed to conference' % meeting.absolute_url()) meeting.added_nrc_meeting_type = True if is_eionet_meeting is not None: delattr(meeting, 'is_eionet_meeting') schema_tool = portal.getSchemaTool() schema = schema_tool.getSchemaForMetatype('Naaya Meeting') crt_widgets = schema.objectIds() widget_id = widgetid_from_propname('is_eionet_meeting') if widget_id in crt_widgets: schema.manage_delObjects(widget_id) self.log.debug(('Naaya Meeting schema changes: ' 'removed the "Eionet Meeting" widget')) else: self.log.debug( 'is_eionet_meeting-property not present in Meeting schema') return True