def _save_new(self, context): try: data_dict = clean_dict( dict_fns.unflatten(tuplize_dict(parse_params(request.params)))) data_dict['group'] = data_dict['organization'] member = toolkit.get_action('member_request_create')(context, data_dict) redirect_to_src_page = asbool( config.get('ytp.requests.redirect_to_src_page', 'true')) if redirect_to_src_page: helpers.flash_success( _('Thank you for your request. The organisation admins were notified.' )) redirect_to(request.referer) else: helpers.redirect_to('member_request_show', member_id=member['id']) except NotAuthorized: abort(401, self.not_auth_message) except NotFound: abort(404, _('Item not found')) except dict_fns.DataError: abort(400, _(u'Integrity Error')) except ValidationError, e: errors = e.error_dict error_summary = e.error_summary helpers.flash_error( _('There was an error saving your request. Please try again.')) return self.new(data_dict, errors, error_summary)
def update(self): parser = AtomisatorConfig(CONFIG) # getting parameters for the rss output file_, link, title, description = self._get_values(parser) # TODO make atomisator cfg file read/writeable by text # to avoid all this crappy parsing _get = request.GET.get title = _get('title', title) link = _get('link', link) description = _get('description', description) self._set_values(parser, file_, link, title, description) parser.database = _get('database', parser.database) current = [ '%s %s'.strip() % (p[0], ' '.join(p[1])) for p in parser.filters ] filters = _get('filters', '\n'.join(current)) filters = [ f for f in [s.strip() for s in filters.split('\n')] if f != '' ] filters = [(u[0], tuple(u[1:])) for u in [f.split() for f in filters]] if filters != parser.filters: parser.filters = filters current = [ '%s %s'.strip() % (p[0], ' '.join(p[1])) for p in parser.enhancers ] enhancers = _get('enhancers', '\n'.join(current)) enhancers = [ f for f in [s.strip() for s in enhancers.split('\n')] if f != '' ] enhancers = [(u[0], tuple(u[1:])) for u in [f.split() for f in enhancers]] if enhancers != parser.enhancers: parser.enhancers = enhancers current = [ '%s %s'.strip() % (p[0], ' '.join(p[1])) for p in parser.sources ] sources = _get('sources', '\n'.join(current)) sources = [ f for f in [s.strip() for s in sources.split('\n')] if f != '' ] sources = [(u[0], tuple(u[1:])) for u in [f.split() for f in sources]] parser.sources = sources parser.write() redirect_to(action='index')
def new(self, data=None, errors=None, error_summary=None): """ Controller for new member request """ context = { 'model': model, 'session': model.Session, 'user': c.user or c.author, 'save': 'save' in request.params, 'parent': request.params.get('parent', None) } try: check_access('member_request_create', context) except NotAuthorized: abort(401, self.not_auth_message) if context['save'] and not data: return self._save_new(context) data = data or {} extra_vars = { 'data': data, 'errors': errors or {}, 'error_summary': error_summary or {}, 'action': 'new', 'selected_organization': request.params.get('selected_organization', None) } c.roles = self._get_available_roles() c.user_role = 'editor' redirect_to_src_page = asbool( config.get('ytp.requests.redirect_to_src_page', 'true')) if redirect_to_src_page: redirect_to(request.referer) else: c.form = render("request/new_request_form.html", extra_vars=extra_vars) return render("request/new.html")
def index(self): redirect_to(url_for(controller="peers", action="index"))
def send_broadcast(self, broadcast_message): for peer in self.server.peers: if peer.connected: peer.send_message(broadcast_message) return redirect_to(url_for('peers'))
def create(self, peer_uri): self.server.addPeer(peer_uri) redirect_to(url_for(action="index"))