Beispiel #1
0
    def get(self):


        if not self.destination:
            self.redirect('/')
            return
        
        if self.provider_id:
           provider = Provider.get_provider_by_id(self.provider_id) 
           provider_type= provider.provider_type
           self.destination = provider.destination
        else:
            provider_type=self.request.get('provider_type') or 'location'
        
        MAX_ELEMENTS=20
        centerfold_providers=Provider.get_providers(provider_type, self.destination, MAX_ELEMENTS, 'ratings')
        
        if self.provider_id:
            #move the selected item so that it is first in the list
            centerfold_providers.insert(0, centerfold_providers.pop(centerfold_providers.index(provider)))
        
        
        #logging.error (centerfold_providers)
        self.pars.update( {'centerfold_providers': centerfold_providers,
                           'provider_type':provider_type,
                           'destination': self.destination,
                           'num_providers' : len(centerfold_providers),
                           'imglist' : 'http://www.personal.psu.edu/jul229/mini.jpg'#centerfold_providers[1].pictures
                           })
        
        
        
        self.render('destination.html',self.pars)
Beispiel #2
0
 def edit_provider(self, provider_id):
     
     p = Provider.get_provider_by_provider_id(provider_id)
     logging.error("inside edit_provider")
     logging.error(provider_id)
     self.pars.update({
         'provider' : p
         })
     logging.error("done")
Beispiel #3
0
 def delete_provider(self, provider_id):
     #ask for confirnation
     #mark it as deleted, keep it in store
     #Provider.get_provider_by_id(provider_id)
     logging.error('delete_provider')
     p= Provider.get_provider_by_provider_id(provider_id)
     if p:
       p.safe_delete()
       logging.error("deleting"+p.provider_id)
     pass
Beispiel #4
0
    def dispatch(self):
        # Get a session store for this request.
        #self.session_store = sessions.get_store(request=self.request)
        #url=self.request.url
        
        
        #base_url=urlparse.urlparse(self.request.url)
        #self.redirect_url="http%3A%2F%2F"+self.request.host+config.GOOGLE_CALLBACK_URI_APPEND
        self.redirect_url="http://"+self.request.host+'/auth/google/callback'
        
        self.user=get_current_user(self.request)

            
        if self.user:
            self.lang=self.request.get('lang') or self.request.cookies.get("lang") or self.user.locale
        else:
            self.lang=self.request.get('lang') or self.request.cookies.get("lang")
        
        if not (languages.validate(self.lang)):
            self.lang = 'en'
        
        other_languages_list= languages.get_languages_list()
        other_languages_list.remove(self.lang)
        self.destination=self.request.get('destination') or self.request.cookies.get("destination")
        self.provider_id = self.request.get('provider_id')
        
        self.pars = {
            #"logged_in" : self.logged_in,
            'user':self.user,
            'language_dict' : languages.current_lang_dict(self.lang),
            'selected_language' : self.lang,
            'languages_list' : languages.get_languages_list(),
            'other_languages': other_languages_list,
            'provider_types' : Provider.get_provider_types(),
            "login_url" : config.GOOGLE_LOGIN_URL + "&redirect_uri="+ self.redirect_url,
            'destination' : self.destination
        }
        
       
            
        webapp2.RequestHandler.dispatch(self)
Beispiel #5
0
 def validate_provider_form(self):
     error_list=[]
     warning_list=[]
     provider=Provider()
     
     destination = weddings.verify_destination(self.request.get('destination'))
     if destination:
         provider.destination=destination
     else:
         error_list.append({'destination': "Incorrect destination"})
     
     provider_type = Provider.validate_type(self.request.get('provider_type'))
     if provider_type:
         provider.provider_type=provider_type
     else:
         error_list.append({'provider_type': "Incorrect provider_type"})
     
     #logging.error (self.request.get('provider_id'))
     provider_id = Provider.validate_ID(self.request.get('provider_id'))
     if provider_id:
         provider.provider_id=provider_id
     else:
         error_list.append({'provider-ID': "Incorrect provider_id"})
     
     names={}
     description={}
     
     for language in languages.get_languages_list():
         
         name=Provider.validate_name(self.request.get('name__'+language))
         if name:
             names.update({language : name})
         else:
             warning_list.append({'name_'+language: "Missing or Incorrect name"}) 
         
         description.update({language : cgi.escape(self.request.get('description__'+language))})
     
     provider.name = names
     provider.description = description
     
     
     #TODO manage error lists
     provider.contact_email = Provider.validate_email(self.request.get('contact_email'))
     provider.url = Provider.validate_url(self.request.get('url'))
     provider.phone = Provider.validate_phone(self.request.get('phone'))
     provider.address, provider.location = Provider.validate_address(self.request.get('address'),
                                                self.request.get('x-coord'),
                                                self.request.get('y-coord'))
     
     
     provider.phone = Provider.validate_rating(self.request.get('rating'))
     provider.phone = Provider.validate_price_range(self.request.get('pricerangetext'))
     provider.phone = Provider.validate_price_class(self.request.get('price_class'))
     
     logging.error(self.request.get('pictures'))
     logging.error(str(self.request.get('pictures')))
     logging.error(str.split(str(self.request.get('pictures')),'\r\n'))
     provider.pictures = Provider.validate_pictures(str.split(str(self.request.get('pictures')),'\r\n'))
     
     
     if error_list:
         logging.error("validation error" + str(error_list))
     else:
         logging.error("validation warnings" + str(warning_list))
          
         
     logging.error(provider)
     
     return provider, error_list, warning_list
     pass
Beispiel #6
0
 def view_providers(self, provider_id=None):
     providers, count = Provider.get_providers_at_destination(dest=self.destination, limit=20)
     self.pars.update({'providers' : providers,
                 'destination' : self.destination,
                 'count' : count})
     pass