def action_submit(self): name = self.get_body_argument('name') q = Package.select().where(Package.name == name, Package.owner == self.current_user) if q.count(): raise HTTPError(409) if not self.current_user.is_admin: q = Package.select().where(Package.name == name, Package.owner != self.current_user) if q.count(): raise HTTPError(403) pkg = Package(name=name, lower_name=name.lower(), owner=self.current_user) pkg.save()