def post(self): user = users.get_current_user() if not user: # need to sign in self.redirect('/?signin=True') return if bene_query.getCurrentUser().isConsumer: # consumers can't access this self.redirect('/') return _producer = bene_query.getCurrentProducer() if _producer == None: # no producer signed up, so ask to sign up self.redirect('/') return if not _producer.verified: # if producer is not verified self.redirect('/producerhome?%s' % urllib.urlencode({'verify': True})) return ID = self.request.get('id') if not ID: ''' TODO: If no ID sent, default to ? ''' self.redirect('/') return _worker = db.get(ID) if not _worker: # doesn't exist template_values = {} path = os.path.join(os.path.dirname(__file__), 'not_found.html') self.response.out.write(template.render(path, template_values)) return if _worker.owner != user: # not 'owner' of worker. I know it sounds very pre-emancipation self.redirect('/producerhome?%s' % urllib.urlencode({'not_owner': True})) return _worker.name = self.request.get('name') _worker.profile = self.request.get('profile') _unique_save = _worker.unique _worker.unique = self.request.get('unique') if bene_util.doesWorkerExist(_worker) and _unique_save != _worker.unique: # if worker already exists self.redirect('/editworker?%s' % (urllib.urlencode({'id' : ID, 'repeatedit' : True}))) return _factory = self.request.get('factory') if _factory: _worker.factory = db.get(_factory) _picture = self.request.get('picture') _worker.addPicture(_picture) _worker.put() self.redirect('/viewworker?%s' % urllib.urlencode({'id': ID})) return
def post(self): user = users.get_current_user() if not user: # need to sign in self.redirect('/?signin=True') return if bene_query.getCurrentUser().isConsumer: # consumers can't access this self.redirect('/') return _producer = bene_query.getCurrentProducer() if _producer == None: # no producer signed up, so ask to sign up self.redirect('/') return if not _producer.verified: # if producer is not verified self.redirect('/producerhome?%s' % urllib.urlencode({'verify': True})) return ID = self.request.get('id') if not ID: ''' TODO: If no ID sent, default to ? ''' self.redirect('/') return _worker = db.get(ID) ''' an error in getting the worker will be redirected to exception handler''' if _worker.owner != user: # not 'owner' of worker. I know it sounds very pre-emancipation self.redirect('/producerhome?%s' % urllib.urlencode({'not_owner': True})) return _worker.name = self.request.get('name') _worker.profile = self.request.get('profile') _unique_save = _worker.unique _worker.unique = self.request.get('unique') if bene_util.doesWorkerExist(_worker) and _unique_save != _worker.unique: # if worker already exists self.redirect('/editworker?%s' % (urllib.urlencode({'id' : ID, 'repeatedit' : True}))) return _factory = self.request.get('factory') if _factory: _worker.factory = db.get(_factory) _picture = self.request.get('picture') _worker.addPicture(_picture) _worker.put() self.redirect('/viewworker?%s' % urllib.urlencode({'id': ID})) return
def post(self): user = users.get_current_user() if not user: # need to sign in self.redirect('/?signin=True') return if bene_query.getCurrentUser().isConsumer: # consumers can't access this self.redirect('/') return _producer = bene_query.getCurrentProducer() if _producer == None: # no producer signed up, so ask to sign up self.redirect('/') return if not _producer.verified: # if producer is not verified self.redirect('/producerhome?%s' % urllib.urlencode({'verify': True})) return _name = self.request.get('name') _factory = self.request.get('factory') _picture = self.request.get('picture') _profile = self.request.get('profile') _unique = self.request.get('unique') w = entities.Worker(name=_name, profile=_profile, unique=_unique, owner=user) w.addProducer(_producer) if _factory: w.addFactory(db.get(_factory)) w.addPicture(_picture) if bene_util.doesWorkerExist(w): # already exists self.redirect('/createworker?%s' % urllib.urlencode({'repeat': True})) return w.put() if self.request.get('more'): # want to add more self.redirect('/createworker?%s' % urllib.urlencode({'added': True})) return # otherwise redirect to worker page self.redirect('/viewworker?%s' % urllib.urlencode({'id' : w.key()}))