def dispatch(self): user_id = self.request.GET.get('user_id') if user_id and self.request.has_perm('admin'): user = User.query.get(user_id) elif user_id: raise Forbidden() else: user = self.request.user form = UserEditForm(self.request.POST, obj=user) if self.request.method == 'POST' and form.validate(): user.availability_link = form.availability_link.data or None user.tasks_link = form.tasks_link.data or None user.skype = form.skype.data or None user.phone = form.phone.data or None user.phone_on_desk = form.phone_on_desk.data or None user.irc = form.irc.data or None user.location = form.location.data or None user.start_work = form.start_work.data or None user.description = form.description.data or None user.date_of_birth = form.date_of_birth.data or None user.roles = form.roles.data if self.request.has_perm('admin'): user.is_active = form.is_active.data groups = form.groups.data if "freelancer" in groups: groups.remove('freelancer') user.freelancer = True else: user.freelancer = False user.groups = groups user.start_full_time_work = form.start_full_time_work.data or None user.stop_work = form.stop_work.data or None if self.request.has_perm('admin'): user.employment_contract = form.employment_contract.data if form.avatar.data: preview = Preview(self.request) if not preview.swap_avatar(type='users', id=user.id): self.flash(self._(u"No preview to swap")) self.flash(self._(u"User data saved")) LOG(u"User data saved") if user_id and self.request.has_perm('admin'): return HTTPFound(location=self.request.url_for( '/user/edit', user_id=user_id)) else: return HTTPFound(location=self.request.url_for('/user/edit')) if user.freelancer: form.groups.data = user.groups + ['freelancer'] return dict(id=user.id, user=user, form=form)
def dispatch(self): user_id = self.request.GET.get('user_id') if user_id and self.request.has_perm('admin'): user = User.query.get(user_id) elif user_id: raise Forbidden() else: user = self.request.user form = UserEditForm(self.request.POST, obj=user) if self.request.method == 'POST' and form.validate(): user.availability_link = form.availability_link.data or None user.tasks_link = form.tasks_link.data or None user.skype = form.skype.data or None user.phone = form.phone.data or None user.phone_on_desk = form.phone_on_desk.data or None user.irc = form.irc.data or None user.location = form.location.data or None user.start_work = form.start_work.data or None user.description = form.description.data or None user.date_of_birth = form.date_of_birth.data or None user.roles = form.roles.data if self.request.has_perm('admin'): user.is_active = form.is_active.data groups = form.groups.data if "freelancer" in groups: groups.remove('freelancer') user.freelancer = True else: user.freelancer = False user.groups = groups user.start_full_time_work = form.start_full_time_work.data or None user.stop_work = form.stop_work.data or None if self.request.has_perm('admin'): user.employment_contract = form.employment_contract.data if form.avatar.data: preview = Preview(self.request) if not preview.swap_avatar(type='users', id=user.id): self.flash(self._(u"No preview to swap")) self.flash(self._(u"User data saved")) LOG(u"User data saved") if user_id and self.request.has_perm('admin'): return HTTPFound(location=self.request.url_for('/user/edit', user_id=user_id)) else: return HTTPFound(location=self.request.url_for('/user/edit')) if user.freelancer: form.groups.data = user.groups + ['freelancer'] return dict(id=user.id, user=user, form=form)
def dispatch(self): user_id = self.request.GET.get('user_id') if user_id and self.request.has_perm('can_edit_users'): user = User.query.get(user_id) elif user_id: raise Forbidden() else: user = self.request.user if not user: raise HTTPNotFound() form = UserEditForm(self.request.POST, obj=user) if self.request.method == 'POST' and form.validate(): user.availability_link = form.availability_link.data or None user.tasks_link = form.tasks_link.data or None user.skype = form.skype.data or None user.phone = form.phone.data or None user.phone_on_desk = form.phone_on_desk.data or None user.irc = form.irc.data or None user.location = form.location.data or None user.start_work = form.start_work.data or None user.description = form.description.data or None user.date_of_birth = form.date_of_birth.data or None user.roles = form.roles.data if self.request.has_perm('can_edit_users'): user.is_active = form.is_active.data user.start_work_experience = form.start_work_experience.data or None user.start_full_time_work = form.start_full_time_work.data or None user.stop_work = form.stop_work.data or None user.employment_contract = form.employment_contract.data if self.request.has_perm('can_add_user_to_group'): groups = form.groups.data if 'coordinator' in user.groups: groups.append('coordinator') user.groups = groups if form.avatar.data: preview = Preview(self.request) if not preview.swap_avatar(type='users', id=user.id): self.flash(self._(u"No preview to swap")) self.flash(self._(u"User data saved")) LOG(u"User data saved") if user_id and self.request.has_perm('can_edit_users'): return HTTPFound(location=self.request.url_for('/user/edit', user_id=user_id)) else: return HTTPFound(location=self.request.url_for('/user/edit')) return dict(id=user.id, user=user, form=form)
def dispatch(self): user_id = self.request.GET.get("user_id") if user_id and self.request.has_perm("admin"): user = User.query.get(user_id) elif user_id: raise Forbidden() else: user = self.request.user form = UserEditForm(self.request.POST, obj=user) if self.request.method == "POST" and form.validate(): user.availability_link = form.availability_link.data or None user.tasks_link = form.tasks_link.data or None user.skype = form.skype.data or None user.phone = form.phone.data or None user.phone_on_desk = form.phone_on_desk.data or None user.irc = form.irc.data or None user.location = form.location.data or None user.start_work = form.start_work.data or None user.description = form.description.data or None if form.level.data: user.levels = reduce(lambda x, y: x | y, [int(x) for x in form.level.data]) if self.request.has_perm("admin"): user.is_active = form.is_active.data groups = form.groups.data if "freelancer" in groups: groups.remove("freelancer") user.freelancer = True else: user.freelancer = False user.groups = groups user.start_full_time_work = form.start_full_time_work.data or None user.is_programmer = form.is_programmer.data user.is_frontend_developer = form.is_frontend_developer.data user.is_graphic_designer = form.is_graphic_designer.data if form.avatar.data: preview = Preview(self.request) if not preview.swap_avatar(type="users", id=user.id): self.flash(self._(u"No preview to swap")) self.flash(self._(u"User data saved")) LOG(u"User data saved") if user_id and self.request.has_perm("admin"): return HTTPFound(location=self.request.url_for("/user/edit", user_id=user_id)) else: return HTTPFound(location=self.request.url_for("/user/edit")) if user.freelancer: form.groups.data = user.groups + ["freelancer"] return dict(id=user.id, user=user, form=form)