def update_person_account_access_txn(person_key, account_key, admin): key = AccountAccess.key_for(person_key, account_key) a = db.get(key) if not a: a = AccountAccess(key_name=key.name(), person=person_key, account=account_key) a.admin = admin a.put()
def post(self, invitation_code): if not users.is_current_user_admin(): candidate = LimitedBetaCandidate.all().filter('invitation_code', invitation_code).get() if candidate == None: self.redirect_and_finish('/signup/%s' % invitation_code) self.account_form = AccountForm(self.request.POST) if self.account_form.validate(): existing_account = Account.all().filter('permalink', self.account.permalink).get() if existing_account: self.account_form.permalink.errors.append("This name is already taken.") else: self.account_form.populate_obj(self.account) self.account.put() if not self.person.is_saved(): self.person.put() self.account_access = AccountAccess(key_name=AccountAccess.key_for(self.person.key(), self.account.key()).name(), person=self.person, account=self.account, admin=True) self.account_access.put() self.redirect_and_finish(u'/%s/products/new/' % self.account.permalink, flash = u"Your account has been created. You can add your first product now.") self.render_screen_and_finish()