Esempio n. 1
0
    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()