def handle_cancel(self, action, data): """Cancelling redirects to the listing.""" session = Session() if not self._next_url: self._next_url = url.absoluteURL(self.__parent__, self.request) self.request.response.redirect(self._next_url) session.close()
def handle_cancel(self, action, data): """Cancelling redirects to the listing.""" session = Session() if not self._next_url: self._next_url = url.absoluteURL(self.__parent__, self.request) self.request.response.redirect(self._next_url) session.close()
def render(self, template=None): if template is None: template = self.template if checkPermission(u"bungeni.sitting.Add", self.context): self.edit = True else: self.edit = False 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()
def render(self, template=None): if template is None: template = self.template if checkPermission(u"bungeni.sitting.Add", self.context): self.edit = True else: self.edit = False 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()
def on_end_request(event): """Subscriber to catch end of request processing, and dispatch cleanup tasks as needed. """ session = Session() log.info("""IEndRequestEvent:%s:%s closing SqlAlchemy session: %s""" % ( id(event.request), event.object, session)) session.close()
def on_end_request(event): """Subscriber to catch end of request processing, and dispatch cleanup tasks as needed. """ session = Session() log.info("""IEndRequestEvent:%s:%s closing SqlAlchemy session: %s""" % (id(event.request), event.object, session)) session.close()
def handle_add_save(self, action, data): """After succesful creation of translation, redirect to the view.""" for key in data.keys(): if isinstance(data[key], str): data[key] = unescape(data[key]) #url = url.absoluteURL(self.context, self.request) #language = get_language_by_name(data["language"])["name"] session = Session() trusted = removeSecurityProxy(self.context) mapper = rdb.orm.object_mapper(trusted) pk = getattr(trusted, mapper.primary_key[0].name) current_translation = get_translation_for(self.context, data["language"]) if current_translation: for translation in current_translation: session.delete(translation) for form_field in data.keys(): if form_field == "language": continue translation = domain.ObjectTranslation() translation.object_id = pk translation.object_type = trusted.__class__.__name__ translation.field_name = form_field translation.lang = data["language"] translation.field_text = data[form_field] session.add(translation) session.flush() session.commit() session.close() #versions = IVersioned(self.context) #version = versions.create("'%s' translation added" % language) # reset workflow state #version.status = None #IWorkflowInfo(version).fireTransition("create-translation") # redefine form context and proceed with edit action #self.setUpAdapters(version) #handle_edit_action(self, action, data) # commit version such that it gets a version id #transaction.commit() #if not self._next_url: # self._next_url = ( \ # '%s/versions/%s' % (url, stringKey(version)) + \ # '?portal_status_message=Translation added') self._finished_add = True
def handle_add_save(self, action, data): """After succesful creation of translation, redirect to the view.""" for key in data.keys(): if isinstance(data[key], str): data[key] = unescape(data[key]) #url = url.absoluteURL(self.context, self.request) #language = get_language_by_name(data["language"])["name"] session = Session() trusted = removeSecurityProxy(self.context) mapper = rdb.orm.object_mapper(trusted) pk = getattr(trusted, mapper.primary_key[0].name) current_translation = get_translation_for(self.context, data["language"]) if current_translation: for translation in current_translation: session.delete(translation) for form_field in data.keys(): if form_field == "language": continue translation = domain.ObjectTranslation() translation.object_id = pk translation.object_type = trusted.__class__.__name__ translation.field_name = form_field translation.lang = data["language"] translation.field_text = data[form_field] session.add(translation) session.flush() session.commit() session.close() #versions = IVersioned(self.context) #version = versions.create("'%s' translation added" % language) # reset workflow state #version.status = None #IWorkflowInfo(version).fireTransition("create-translation") # redefine form context and proceed with edit action #self.setUpAdapters(version) #handle_edit_action(self, action, data) # commit version such that it gets a version id #transaction.commit() #if not self._next_url: # self._next_url = ( \ # '%s/versions/%s' % (url, stringKey(version)) + \ # '?portal_status_message=Translation added') self._finished_add = True
def handle_edit_cancel(self, action, data): """Cancelling redirects to the listing.""" for key in data.keys(): if isinstance(data[key], str): data[key] = unescape(data[key]) session = Session() if not self._next_url: self._next_url = url.absoluteURL(self.context, self.request) self.request.response.redirect(self._next_url) session.close()
def handle_edit_cancel(self, action, data): """Cancelling redirects to the listing.""" for key in data.keys(): if isinstance(data[key], str): data[key] = unescape(data[key]) session = Session() if not self._next_url: self._next_url = url.absoluteURL(self.context, self.request) self.request.response.redirect(self._next_url) session.close()
def __call__(self, timestamp=None): session = Session() if timestamp is None: # start the week on the first weekday (e.g. Monday) date = utils.datetimedict.fromdate(datetime.date.today()) else: try: timestamp = float(timestamp) except: raise TypeError("Timestamp must be floating-point (got %s)" % timestamp) date = utils.datetimedict.fromtimestamp(timestamp) if misc.is_ajax_request(self.request): rendered = self.render(date, template=self.ajax) rendered = self.render(date) session.close() return rendered
def __call__( self ): context = proxy.removeSecurityProxy( self.context ) self.domain_model = context.domain_model self.domain_interface = queryModelInterface( self.domain_model ) self.domain_annotation = queryModelDescriptor( self.domain_interface ) session = Session() self.set_size = 0 self.fields = list( getFields( self.context ) ) start, limit = self.getOffsets( ) batch = self.getBatch( start, limit) data = dict( length=self.set_size, start=start, recordsReturned=len(batch), sort = self.request.get('sort'), dir = self.request.get('dir', "asc"), nodes=batch ) session.close() return simplejson.dumps( data )
def __call__(self, timestamp=None): session = Session() if timestamp is None: # start the week on the first weekday (e.g. Monday) date = utils.datetimedict.fromdate(datetime.date.today()) else: try: timestamp = float(timestamp) except: raise TypeError( "Timestamp must be floating-point (got %s)" % timestamp) date = utils.datetimedict.fromtimestamp(timestamp) if misc.is_ajax_request(self.request): rendered = self.render(date, template=self.ajax) rendered = self.render(date) session.close() return rendered
def __call__(self): context = proxy.removeSecurityProxy(self.context) self.domain_model = context.domain_model self.domain_interface = queryModelInterface(self.domain_model) self.domain_annotation = queryModelDescriptor(self.domain_interface) session = Session() self.set_size = 0 self.fields = list(getFields(self.context)) start, limit = self.getOffsets() batch = self.getBatch(start, limit) data = dict(length=self.set_size, start=start, recordsReturned=len(batch), sort=self.request.get('sort'), dir=self.request.get('dir', "asc"), nodes=batch) session.close() return simplejson.dumps(data)
def render(self, template=None): if template is None: template = self.template if checkPermission(u"bungeni.sitting.Add", self.context): self.edit = True else: self.edit = False session = Session() venues = session.query(domain.Venue).all() languages = get_all_languages() sitting_types = session.query(domain.SittingType).all() session.close() self.display_language = 'en' if self.request.get('I18N_LANGUAGES'): self.display_language = self.request.get('I18N_LANGUAGES') s = '<div class="dhx_cal_ltext" style="height:90px;">' s += '<table><tr><td>Sitting Type</td><td><select id="select_sitting_type">' for sitting_type in sitting_types: s += '<option value="' + str( sitting_type.sitting_type_id ) + '">' + sitting_type.sitting_type + '</option>' s += '</select></td></tr>' 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()
def __call__(self): date = datetime.datetime.strptime(self.request.form['date'], '%Y-%m-%d').date() self.display_minutes = (self.request.form['display_minutes'] == "True") time_span = self.request.form['time_span'] if time_span == TIME_SPAN.daily: time_span = TIME_SPAN.daily elif time_span == TIME_SPAN.weekly: time_span = TIME_SPAN.weekly end = self.get_end_date(date, time_span) body_text = super(StoreReportView, self).__call__() sitting_items = [] for sitting in self.sitting_items: if self.display_minutes: if sitting.status in ["published-minutes"]: sitting_items.append(sitting) else: if sitting.status in [ "published-agenda", "draft-minutes", "published-minutes" ]: sitting_items.append(sitting) if len(sitting_items) == 0: referer = self.request.getHeader('HTTP_REFERER') if referer: referer = referer.split('?')[0] else: referer = "" self.request.response.redirect( referer + "?portal_status_message=No data found") return self.sitting_items = sitting_items session = Session() report = domain.Report() report.start_date = date report.end_date = end report.created_date = datetime.datetime.now() if self.display_minutes: report.report_type = 'minutes' else: report.report_type = 'agenda' report.body_text = body_text report.user_id = get_principal_id() report.group_id = self.group.group_id session.add(report) for sitting in self.sitting_items: sr = domain.SittingReport() sr.report = report sr.sitting = sitting session.add(sr) session.flush() rpm = zope.securitypolicy.interfaces.IRolePermissionMap(report) rpm.grantPermissionToRole(u'zope.View', 'bungeni.Anybody') if IGroupSitting.providedBy(self.context): back_link = ui_url.absoluteURL(self.context, self.request) + '/schedule' elif ISchedulingContext.providedBy(self.context): back_link = ui_url.absoluteURL(self.context, self.request) else: raise NotImplementedError self.request.response.redirect(back_link) session.close()
def __call__(self): session = Session() call = super(DisplayForm, self).__call__() session.close() return call
def __call__(self): session = Session() call = super(DisplayForm, self).__call__() session.close() return call