def user_update(user_id): user_db = model.User.get_by_id(user_id) if not user_db: flask.abort(404) form = UserUpdateForm(obj=user_db) for permission in user_db.permissions: form.permissions.choices.append((permission, permission)) form.permissions.choices = sorted(set(form.permissions.choices)) if form.validate_on_submit(): if not util.is_valid_username(form.username.data): form.username.errors.append('This username is invalid.') elif not model.User.is_username_available(form.username.data, user_db.key): form.username.errors.append('This username is already taken.') else: form.populate_obj(user_db) if auth.current_user_id() == user_db.key.id(): user_db.admin = True user_db.active = True user_db.put() return flask.redirect(flask.url_for( 'user_list', order='-modified', active=user_db.active, )) if flask.request.path.startswith('/_s/'): return util.jsonify_model_db(user_db) return flask.render_template( 'user/user_update.html', title=user_db.name, html_class='user-update', form=form, user_db=user_db, )
def user_update(user_id=0): if user_id: user_db = model.User.get_by_id(user_id) else: user_db = model.User(name='', username='') if not user_db: flask.abort(404) form = UserUpdateForm(obj=user_db) for permission in user_db.permissions: form.permissions.choices.append((permission, permission)) form.permissions.choices = sorted(set(form.permissions.choices)) if form.validate_on_submit(): if not util.is_valid_username(form.username.data): form.username.errors.append(_('This username is invalid.')) elif not model.User.is_username_available(form.username.data, user_db.key): form.username.errors.append(_('This username is already taken.')) else: form.populate_obj(user_db) if auth.current_user_key() == user_db.key: user_db.admin = True user_db.active = True user_db.put() return flask.redirect(flask.url_for( 'user_list', order='-modified', active=user_db.active, )) return flask.render_template( 'user/user_update.html', title=user_db.name or _('New User'), html_class='user-update', form=form, user_db=user_db, api_url=flask.url_for('api.admin.user', user_key=user_db.key.urlsafe()) if user_db.key else '' )
def user_update(user_id): user_db = model.User.get_by_id(user_id) if not user_db: flask.abort(404) form = UserUpdateForm(obj=user_db) if form.validate_on_submit(): if not util.is_valid_username(form.username.data): form.username.errors.append('This username is invalid.') elif not is_username_available(form.username.data, user_db): form.username.errors.append('This username is taken.') else: form.populate_obj(user_db) if auth.current_user_id() == user_db.key.id(): user_db.admin = True user_db.active = True user_db.put() return flask.redirect(flask.url_for('user_list', order='-modified')) if flask.request.path.startswith('/_s/'): return util.jsonify_model_db(user_db) return flask.render_template( 'user/user_update.html', title=user_db.name, html_class='user-update', form=form, user_db=user_db, )