Example #1
0
    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
Example #2
0
    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
Example #3
0
 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()}))