Example #1
0
 def __call__(self):
     form, request, context = None, self.request, self.request.context
     form = self.render_xml_service()
     params = {'view': self}
     params.update(get_base_params(self))
     params["form"] = form
     return render_to_response(self.template, params, self.request)
def add_renderer_globals(event):
    params = get_base_params(event=event)
    request = event['request']
    if request:
        event['_'] = request.translate
        event['localizer'] = request.localizer
        event.update(params)
Example #3
0
 def __call__(self):
     form, request, context = None, self.request, self.request.context
     is_a_get = request.method == 'GET'
     is_a_post = request.method == 'POST'
     params = {'view': self}
     params.update(get_base_params(self))
     return render_to_response(self.template, params, self.request)
Example #4
0
def wrap_view(view, request):
    params = view(request)
    if not (isinstance(params, HTTPFound)
            or isinstance(params, Response)):
        params.update(get_base_params(request=request))
        login_params = params['login_params']
        params['velruse_forms'] = login_params.get('velruse_forms', None)
        params['self_register'] = login_params.get('self_register', None)
        params['include_came_from'] =  login_params.get('include_came_from', None)
    return params
Example #5
0
 def __call__(self):
     c = self.request.context
     request = self.request
     params = {}
     params.update(get_base_params(self))
     projects = OrderedDict()
     projects['public'] = {
         'label':_('Public projects') ,
         'items':[c.find_context(project.Project.get_public_project())['item']]}
     def not_present(p):
         ids = []
         for k in projects:
             if p.id in [q.context.id for q in projects[k]['items']]:
                 return False
         return True
     # maybe we are admin and want to see projects from a particular user
     usr, id = None, -666
     anonym = not getattr(self.request, 'user', False)
     if not anonym:
         id = self.request.user.id
     is_project_manager = R['project_manager'] in self.effective_principals
     if 'id' in request.params and is_project_manager:
         try:
             id = int(request.params.get('id'))
             usr = user.User.by_id(id)
         except:
             pass
     if usr is None and not anonym:
         usr = user.User.by_id(self.request.user.id)
     if usr is not None:
         projects['own'] = {'label':_('My projects'), 'items': []}
         pr = project.Project.by_owner(usr)
         for p in pr:
             if not_present(p) and p is not None:
                 projects['own']['items'].append(c.find_context(p)['item'])
         projects['activity'] = {'label':_('Projects where i have activities'), 'items': []}
         pr = project.Project.by_participation(usr)
         for p in pr:
             if not_present(p) and p is not None:
                 projects['activity']['items'].append(c.find_context(p)['item'])
     params['projects_map'] = projects
     return render_to_response(self.template, params, self.request)
Example #6
0
 def __call__(self):
     form, request, context = None, self.request, self.request.context
     is_a_get = request.method == 'GET'
     is_a_post = request.method == 'POST'
     params = {'view': self}
     params.update(get_base_params(self))
     can_add = False
     can_add = has_permission(P['project_create'], self.request.root, self.request)
     is_project_manager = R['project_manager'] in self.effective_principals
     url = "%s@@ajax_users_list" % (self.request.resource_url(context))
     if is_project_manager:
         class UserSchema(colander.TupleSchema):
             id = colander.SchemaNode(colander.Int(), missing = '',)
             label = colander.SchemaNode(colander.String(), missing = '',)
         class UserWrap(colander.SequenceSchema):
             user = UserSchema(name="user", missing=tuple())
         class ProjectManagementSchema(colander.MappingSchema):
             userwrap = UserWrap(name="user", title=_("View projects of a member"),
                                 widget = widget.SingleChosenSelectWidget(url, width='400px'),
                                 default=[], validator = v.not_existing_user, missing=tuple(),)
         form = widget.Form(request,
                            ProjectManagementSchema(title=_("Project management")),
                            buttons=(_('Send'),), formid='view_member_projects')
         if is_a_get:
             params['form'] = form.render()
         if is_a_post:
             if is_project_manager:
                 try:
                     modified = False
                     controls = request.POST.items()
                     fdata  = form.validate(controls)
                     id = fdata['userwrap'][0][0]
                     url = "%s@@list?id=%s" % (
                         self.request.resource_url(self.request.context),
                         id
                     )
                     return HTTPFound(location=url)
                     params['form'] = form.render()
                 except deform.exception.ValidationFailure, e:
                     params['form'] = e.render()
Example #7
0
 def __call__(self):
     #_ = self.translate
     request = self.request
     struct = {}
     params = {}
     params.update(get_base_params(self))
     form = self.form
     if request.method == 'POST':
         controls = request.POST.items()
         # we are in regular post, just registering data in database
         try:
             struct = form.validate(controls)
             fmap = self.fmap
             kwargs = {}
             cstruct = copy.deepcopy(struct)
             for k in cstruct:
                 kwargs[fmap.get(k, k)] = cstruct[k]
             try:
                 kwargs['user'] = user.User.by_id(self.request.user.id)
                 ba = project.Project.create(**kwargs)
                 self.request.session.flash(
                     _('A new project has been created'),
                     'info')
                 item = self.request.root['projects']["%s" % ba.id]
                 url = request.resource_url(item)
                 return HTTPFound(location=url)
             except Exception, e:
                 message = _(u'You can try to change some '
                             'settings because an exception occured '
                             'while adding your new project '
                             ': ${msg}',
                             mapping={'msg': u'%s' % e})
                 self.request.session.flash(message, 'error')
                 session.rollback()
             # we are set, create the request
             params['f_content'] = form.render(struct)
         except  ValidationFailure, e:
             params['f_content'] = e.render()
Example #8
0
 def __call__(self):
     params = {'view': self}
     params.update(get_base_params(self))
     request = self.request
     params['ab'] = ab = self.request.context.project
     form = self.form
     if request.method == 'POST':
         controls = request.POST.items()
         # we are in regular post, just registering data in database
         try:
             struct = form.validate(controls)
             try:
                 fmap = self.fmap
                 kwargs = {}
                 cstruct = copy.deepcopy(struct)
                 for k in cstruct:
                     kwargs[fmap.get(k, k)] = cstruct[k]
                 for k in kwargs:
                     setattr(ab, k, kwargs[k])
                 session.add(ab)
                 session.commit()
                 self.request.session.flash(
                     _('Project has been updated'),
                     'info')
                 item = self.request.root['projects']["%s" % ab.id]
                 url = request.resource_url(item)
                 return HTTPFound(location=url)
             except Exception, e:
                 message = _(u'You can try to change some '
                             'settings because an exception occured '
                             'while editing your authbackend'
                             ': ${msg}',
                             mapping={'msg': u'%s' % e})
                 self.request.session.flash(message, 'error')
                 session.rollback()
         except  ValidationFailure, e:
             params['f_content'] = e.render()
Example #9
0
 def get_base_params(self):
     params = {'view': self}
     params.update(get_base_params(self))
     return params
Example #10
0
 def get_base_params(self):
     params = {'view': self}
     params.update(get_base_params(self))
     params['need_restart'] = get_registry_key('mobyle2.needrestart')
     return params
Example #11
0
 def __call__(self):
     params = {'view': self}
     params.update(get_base_params(self))
     params['can_edit'] = has_permission(P['project_edit'], self.request.root, self.request)
     params['can_editroles'] = has_permission(P['project_editperm'], self.request.root, self.request)
     return render_to_response(self.template, params, self.request)