def post(self):
await self.request.post()
create = self.request.POST.get('create') is not None
update = self.request.POST.get('update') is not None
delete = self.request.POST.get('delete') is not None
uid = self.request.POST.get('uid')
active = True if self.request.POST.get('active') is not None else False
name = self.request.POST.get('name', '').strip()
description = self.request.POST.get('description')
try:
page = int(self.request.POST.get('page', 1))
except (ValueError, TypeError):
page = 1
if all((create, active, name)):
try:
async with settings.manager.atomic():
created = await settings.manager.create(
Record,
active=active,
name=name,
description=description)
except peewee.IntegrityError:
return (await self.ajax_empty('not_created'))
else:
return (await self.ajax_page('create', page))
elif all((update, uid, active, name)):
try:
async with settings.manager.atomic():
updated = await settings.manager.execute(
Record
.update(
active=active,
name=name,
description=description)
.where(Record.uid == uid))
except peewee.IntegrityError:
return (await self.ajax_empty('not_updated'))
else:
return (await self.ajax_page('update', page))
elif all((delete, uid)):
try:
async with settings.manager.atomic():
deleted = await settings.manager.execute(
Record
.delete()
.where(Record.uid == uid))
except peewee.IntegrityError:
return (await self.ajax_empty('not_deleted'))
else:
return (await self.ajax_page('delete', page))
else:
return (await self.ajax_empty('not_command'))
评论列表
文章目录