async def _user(request: Request, user_id: Optional[Any] = None): user = None form = UserForm(request) if user_id is not None: user = await User.get_or_404(user_id) if request.method in ('POST', 'PUT') and form.validate(): name = form.name.data email = form.email.data password = form.password.data active = form.active.data avatar = form.avatar.data if (user := await User.filter(name=name).first()): user.email = email if password: user.password = generate_password(password) user.avatar = avatar user.active = active await user.save() else: password = generate_password(password) user = await User.create(name=name, email=email, avatar=avatar, password=password, active=active) ok = True
async def _user(request, user_id=None): user = None form = UserForm(request) if user_id is not None: user = await User.get_or_404(user_id) if request.method in ('POST', 'PUT') and form.validate(): name = form.name.data email = form.email.data password = form.password.data active = form.active.data avatar = form.avatar.data user = await User.filter(name=name).first() if user: user.email = email if password: user.password = generate_password(password) user.avatar = avatar user.active = active await user.save() else: password = generate_password(password) user = await User.create(name=name, email=email, avatar=avatar, password=password, active=active) ok = True else: ok = False return response.json({'user': await user.to_sync_dict(), 'ok': ok})
async def _user(request, user_id=None): """ 用户创建 or 更新 :param request: :param user_id: :return: """ form = UserForm(request) # 创建用户form 对象 msg = '' # 用户前端页面显示创建成功后显示的内容 if user_id is not None: user = await User.get_or_404(user_id) # base models if request.method == 'POST' and form.validate(): name = form.name.data email = form.email.data password = form.password.data active = form.active.data user = await User.filter(name=name).first() # search user if user: user.email = email if password: user.password = generate_password(password) user.active = active await user.save() msg = 'User was successfully updated.' else: user = await User.create(name=name, email=email, password=password, active=active) msg = 'User was successfully created.' users = await User.all() total = await User.filter().count() context = {'users': users, 'total': total, 'msg': msg} # 获取全部的用户并跳转到用户列表 return await render_template('admin/list_users.html', request, context) elif user_id is not None: # GET 的编辑页面 form = UserForm(request, obj=user) form.password.data = '' form.active.data = user.active form.submit.label.text = 'Update' return await render_template('admin/user.html', request, { 'form': form, 'msg': msg, 'user_id': user_id })
async def _user(request, user_id=None): form = UserForm(request) msg = '' if user_id is not None: user = await User.get_or_404(user_id) if request.method == 'POST' and form.validate(): name = form.name.data email = form.email.data password = form.password.data active = form.active.data user = await User.filter(name=name).first() if user: user.email = email if password: user.password = generate_password(password) user.active = active await user.save() msg = 'User was successfully updated.' else: user = await User.create(name=name, email=email, password=password, active=active) msg = 'User was successfully created.' users = await User.all() total = await User.filter().count() context = {'users': users, 'total': total, 'msg': msg} return await render_template('admin/list_users.html', request, context) elif user_id is not None: form = UserForm(request, obj=user) form.password.data = '' form.active.data = user.active form.submit.label.text = 'Update' return await render_template('admin/user.html', request, {'form': form, 'msg': msg, 'user_id': user_id})