Ejemplo n.º 1
0
 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)
Ejemplo n.º 2
0
    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')
Ejemplo n.º 3
0
    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")
Ejemplo n.º 4
0
 def index(self):
   redirect_to(url_for(controller="peers", action="index"))
Ejemplo n.º 5
0
 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'))
Ejemplo n.º 6
0
 def create(self, peer_uri):
   self.server.addPeer(peer_uri)
   redirect_to(url_for(action="index"))