Пример #1
0
 def render(self, template=None):
     if template is None:
         template = self.template
     if (not checkPermission(u"bungeni.sitting.Add", self.context)) or \
         (IBusinessSectionLayer.providedBy(self.request)):
         self.edit = False
     else:
         self.edit = True
     session = Session()
     venues = session.query(domain.Venue).all()
     languages = get_all_languages()
     session.close()
     #defaults to english
     self.display_language = 'en'
     if self.request.get('I18N_LANGUAGES'):
         self.display_language = self.request.get('I18N_LANGUAGES')
     #html is hardcoded in here because doing it in the template
     #would have been a colossal pain
     #TODO: FIX THIS
     s = '<div class="dhx_cal_ltext" style="height:90px;">'
     s += '<table>'
     s += '<tr><td>Venue</td><td><select id="select_sitting_venue">'
     for venue in venues:
         s += '<option value="' + str(
             venue.venue_id) + '">' + venue.short_name + '</option>'
     s += '</select></td></tr>'
     s += '<tr><td>Language</td><td><select id="select_sitting_lang">'
     for lang in languages:
         if lang == 'en':
             s += '<option value="' + lang + '" selected>' + lang + '</option>'
         else:
             s += '<option value="' + lang + '">' + lang + '</option>'
     s += '</select></td></tr></table></div>'
     self.sitting_details_form = s
     return template()
Пример #2
0
 def render(self, template=None):
     if template is None:
         template = self.template
     if (not checkPermission(u"bungeni.sitting.Add", self.context)) or \
         (IBusinessSectionLayer.providedBy(self.request)):
         self.edit = False
     else:
         self.edit = True
     session = Session()
     venues = session.query(domain.Venue).all()
     languages = get_all_languages()
     session.close()
     self.display_language = get_default_language()
     if self.request.get("I18N_LANGUAGE"):
         self.display_language = self.request.get("I18N_LANGUAGE")
     #html is hardcoded in here because doing it in the template
     #would have been a colossal pain
     #TODO: FIX THIS
     s = '<div class="dhx_cal_ltext" style="height:90px;">' 
     s += '<table>'
     s += '<tr><td>Venue</td><td><select id="select_sitting_venue">'
     for venue in venues:
         s += '<option value="'+str(venue.venue_id)+'">'+venue.short_name+'</option>'
     s += '</select></td></tr>'
     s += '<tr><td>Language</td><td><select id="select_sitting_lang">'
     for lang in languages:
         if lang == 'en':
             s += '<option value="'+lang+'" selected>'+lang+'</option>'
         else:
             s += '<option value="'+lang+'">'+lang+'</option>'
     s += '</select></td></tr></table></div>'
     self.sitting_details_form = s
     return template()
Пример #3
0
 def render(self, template=None):
     need("bungeni-calendar-bundle")
     if template is None:
         template = self.template
     if (not checkPermission(u"bungeni.sitting.Add", self.context)) or \
         (IBusinessSectionLayer.providedBy(self.request)):
         self.edit = False
     else:
         self.edit = True
     return template()
Пример #4
0
 def __call__(self, timestamp=None):
     trusted = removeSecurityProxy(self.context)
     trusted.__name__ = self.__name__
     interface.alsoProvides(trusted, ILocation)
     if IBusinessSectionLayer.providedBy(self.request) and isinstance(trusted, SittingContainerSchedulingContext):
         self.url = url.absoluteURL(trusted.__parent__.__parent__, self.request)
     else:
         self.url = url.absoluteURL(trusted.__parent__, self.request)
     self.title = ISchedulingContext(self.context).label
     return self.render()
Пример #5
0
 def render(self, template=None):
     need("bungeni-calendar-bundle")
     if template is None:
         template = self.template
     if (not checkPermission(u"bungeni.sitting.Add", self.context)) or \
         (IBusinessSectionLayer.providedBy(self.request)):
         self.edit = False
     else:
         self.edit = True
     return template()
Пример #6
0
 def render(self, template=None):
     need("dhtmlxscheduler")
     need("dhtmlxscheduler-recurring")
     if template is None:
         template = self.template
     if (not checkPermission(u"bungeni.sitting.Add", self.context)) or \
         (IBusinessSectionLayer.providedBy(self.request)):
         self.edit = False
     else:
         self.edit = True
     return template()
Пример #7
0
 def __call__(self, timestamp=None):
     trusted = removeSecurityProxy(self.context)
     trusted.__name__ = self.__name__
     interface.alsoProvides(trusted, ILocation)
     if (IBusinessSectionLayer.providedBy(self.request)
             and isinstance(trusted, SittingContainerSchedulingContext)):
         self.url = url.absoluteURL(trusted.__parent__.__parent__,
                                    self.request)
     else:
         self.url = url.absoluteURL(trusted.__parent__, self.request)
     self.title = ISchedulingContext(self.context).label
     return self.render()
Пример #8
0
def get_query(context, request, query=None, domain_model=None):
    """Prepare query.

    If the model has start- and end-dates, constrain the query to
    objects appearing within those dates.
    """

    unproxied = proxy.removeSecurityProxy(context)
    model = unproxied.domain_model
    session = Session()
    if not query:
        query = unproxied._query
    if (IBusinessSectionLayer.providedBy(request)
            and ICommitteeContainer.providedBy(context)) or (
                IMembersSectionLayer.providedBy(request)
                and IMemberOfParliamentContainer.providedBy(context)) or (
                    IBusinessSectionLayer.providedBy(request)
                    and ICommitteeMemberContainer.providedBy(context)) or (
                        IBusinessSectionLayer.providedBy(request)
                        and ICommitteeStaffContainer.providedBy(context)):
        start_date = datetime.date.today()
        end_date = None
    else:
        start_date, end_date = get_date_range(request)
    if start_date or end_date:
        date_range_filter = component.getSiteManager().adapters.lookup(
            (interface.implementedBy(model), ), IDateRangeFilter)
        if start_date is None:
            start_date = datetime.date(1900, 1, 1)
        if end_date is None:
            end_date = datetime.date(2100, 1, 1)
        if domain_model:
            model = domain_model
        if date_range_filter is not None:
            query = query.filter(date_range_filter(model)).params(
                start_date=start_date, end_date=end_date)

    return query
Пример #9
0
def get_query(context, request, query=None, domain_model=None):
    """Prepare query.

    If the model has start- and end-dates, constrain the query to
    objects appearing within those dates.
    """
    unproxied = proxy.removeSecurityProxy(context)
    if query is None:
        query = unproxied._query
    model = unproxied.domain_model
    
    if ((IBusinessSectionLayer.providedBy(request) and
            ICommitteeContainer.providedBy(context)) or 
        (IMembersSectionLayer.providedBy(request) and
            IMemberOfParliamentContainer.providedBy(context)) or 
        (IBusinessSectionLayer.providedBy(request) and
            ICommitteeMemberContainer.providedBy(context)) or 
        (IBusinessSectionLayer.providedBy(request) and
            ICommitteeStaffContainer.providedBy(context))
    ):
        start_date = datetime.date.today()
        end_date = None
    else:
        start_date, end_date = get_date_range(request)
    
    if start_date or end_date:
        if start_date is None:
            start_date = datetime.date(1900, 1, 1)
        if end_date is None:
            end_date = datetime.date(2100, 1, 1)
        if domain_model is not None:
            model = domain_model
        date_range_filter = component.getSiteManager().adapters.lookup(
            (interface.implementedBy(model),), IDateRangeFilter)
        if date_range_filter is not None:
            query = query.filter(date_range_filter(model)).params(
                start_date=start_date, end_date=end_date)
    return query
Пример #10
0
 def __call__(self, timestamp=None):
     log.debug("CalendarView.__call__: %s" % (self.context))
     trusted = removeSecurityProxy(self.context)
     trusted.__name__ = self.__name__
     interface.alsoProvides(trusted, ILocation)
     if (IBusinessSectionLayer.providedBy(self.request) and 
         isinstance(trusted, SittingContainerSchedulingContext)):
         self.url = url.absoluteURL(trusted.__parent__.__parent__, self.request)
     else:
         self.url = url.absoluteURL(trusted.__parent__, self.request)
     self.title = ISchedulingContext(self.context).label
     log.debug(debug.interfaces(self))
     log.debug(debug.location_stack(self))
     return self.render()
Пример #11
0
 def __init__(self, context, request):
     log.debug("CalendarView.__init__: %s" % (context))
     super(CalendarView, self).__init__(ISchedulingContext(context),
                                        request)
     trusted = removeSecurityProxy(self.context)
     trusted.__name__ = self.__name__
     trusted.title = self.short_name
     interface.alsoProvides(trusted, ILocation)
     interface.alsoProvides(trusted, IDCDescriptiveProperties)
     if (IBusinessSectionLayer.providedBy(request)
             and isinstance(trusted, SittingContainerSchedulingContext)):
         self.url = url.absoluteURL(trusted.__parent__.__parent__, request)
     else:
         self.url = url.absoluteURL(trusted.__parent__, request)
     self.__parent__ = context
     log.debug(debug.interfaces(self))
     log.debug(debug.location_stack(self))
Пример #12
0
 def __init__(self, context, request):
     log.debug("CalendarView.__init__: %s" % (context))
     super(CalendarView, self).__init__(
         ISchedulingContext(context), request)
     trusted = removeSecurityProxy(self.context)
     trusted.__name__ = self.__name__
     trusted.title = self.short_name
     interface.alsoProvides(trusted, ILocation)
     interface.alsoProvides(trusted, IDCDescriptiveProperties)
     if (IBusinessSectionLayer.providedBy(request) and 
         isinstance(trusted, SittingContainerSchedulingContext)):
         self.url = url.absoluteURL(trusted.__parent__.__parent__, request)
     else:
         self.url = url.absoluteURL(trusted.__parent__, request)
     self.__parent__ = context
     log.debug(debug.interfaces(self))
     log.debug(debug.location_stack(self))
Пример #13
0
 def render(self, template=None):
     need("dhtmlxscheduler")
     need("dhtmlxscheduler-recurring")
     need("dhtmlxscheduler-year-view")
     need("dhtmlxscheduler-agenda-view")
     need("dhtmlxscheduler-expand")
     need("bungeni-calendar-extensions")
     need("dhtmlxscheduler-timeline")
     need("dhtmlxscheduler-tooltip")
     need("dhtmlxscheduler-minical")
     need("dhtmlxscheduler-multisource")
     need("multi-calendar-actions")
     if template is None:
         template = self.template
     if (not checkPermission(u"bungeni.sitting.Add", self.context)) or \
         (IBusinessSectionLayer.providedBy(self.request)):
         self.edit = False
     else:
         self.edit = True
     return template()
Пример #14
0
 def render(self, template=None):
     need("dhtmlxscheduler")
     need("dhtmlxscheduler-recurring")
     if template is None:
         template = self.template
     if (not checkPermission(u"bungeni.sitting.Add", self.context)) or \
         (IBusinessSectionLayer.providedBy(self.request)):
         self.edit = False
     else:
         self.edit = True
     session = Session()
     venues = session.query(domain.Venue).all()
     languages = get_all_languages()
     # !+SESSION_CLOSE(taras.sterch, july-2011) there is no need to close the
     # session. Transaction manager will take care of this. Hope it does not
     # brake anything.
     #session.close()
     self.display_language = get_default_language()
     if self.request.get("I18N_LANGUAGE"):
         self.display_language = self.request.get("I18N_LANGUAGE")
     #html is hardcoded in here because doing it in the template
     #would have been a colossal pain
     #TODO: FIX THIS
     s = '<div class="dhx_cal_ltext" style="height:90px;">'
     s += '<table>'
     s += '<tr><td>Venue</td><td><select id="select_sitting_venue">'
     for venue in venues:
         s += '<option value="' + str(
             venue.venue_id) + '">' + venue.short_name + '</option>'
     s += '</select></td></tr>'
     s += '<tr><td>Language</td><td><select id="select_sitting_lang">'
     for lang in languages:
         if lang == 'en':
             s += '<option value="' + lang + '" selected>' + lang + '</option>'
         else:
             s += '<option value="' + lang + '">' + lang + '</option>'
     s += '</select></td></tr></table></div>'
     self.sitting_details_form = s
     return template()
Пример #15
0
 def render(self, template=None):
     need("dhtmlxscheduler")
     need("dhtmlxscheduler-recurring")
     if template is None:
         template = self.template
     if (not checkPermission(u"bungeni.sitting.Add", self.context)) or \
         (IBusinessSectionLayer.providedBy(self.request)):
         self.edit = False
     else:
         self.edit = True
     session = Session()
     venues = session.query(domain.Venue).all()
     languages = get_all_languages()
     # !+SESSION_CLOSE(taras.sterch, july-2011) there is no need to close the 
     # session. Transaction manager will take care of this. Hope it does not 
     # brake anything.
     #session.close()
     self.display_language = get_default_language()
     if self.request.get("I18N_LANGUAGE"):
         self.display_language = self.request.get("I18N_LANGUAGE")
     #html is hardcoded in here because doing it in the template
     #would have been a colossal pain
     #TODO: FIX THIS
     s = '<div class="dhx_cal_ltext" style="height:90px;">' 
     s += '<table>'
     s += '<tr><td>Venue</td><td><select id="select_sitting_venue">'
     for venue in venues:
         s += '<option value="'+str(venue.venue_id)+'">'+venue.short_name+'</option>'
     s += '</select></td></tr>'
     s += '<tr><td>Language</td><td><select id="select_sitting_lang">'
     for lang in languages:
         if lang == 'en':
             s += '<option value="'+lang+'" selected>'+lang+'</option>'
         else:
             s += '<option value="'+lang+'">'+lang+'</option>'
     s += '</select></td></tr></table></div>'
     self.sitting_details_form = s
     return template()