예제 #1
0
파일: test_city.py 프로젝트: sudhirj/culcal
 def test_city_deletion(self):
     city_route = '/_admin/city'
     url = self.random()
     City(name = self.random(), url = url, hours = 5, minutes = 45).put()        
     city_data = dict(action='delete')
     self.admin_app.post(city_route+'/'+url, city_data)
     self.assertFalse(City.get_by_url(url))
예제 #2
0
 def update(self, city_url=None):
     current_city = City.get_by_url(city_url)
     current_city.name = self.read('name')
     current_city.url = self.read('url')
     current_city.hours_offset = int(self.read('hours'))
     current_city.minutes_offset = int(self.read('minutes'))
     current_city.put()
     self.redirect('/_admin/city', False)
예제 #3
0
 def get(self, city_url, venue_url):
     redirect_url = None
     city = City.get_by_url(city_url) 
     if city: venue = city.get_venue_by_url(venue_url)
     else: redirect_url = '/'
     if not venue: redirect_url = '/' + city_url
     if not redirect_url:
         performances = venue.get_performances().fetch(50)
         self.render('public/venue.html', dict(venue=venue, 
                                     performances=performances,
                                     auth = utils.authdetails(venue.get_route())))
     else:
         self.redirect(redirect_url,False)
예제 #4
0
파일: test_city.py 프로젝트: sudhirj/culcal
 def test_city_creation(self):
     city_route = '/_admin/city'
     self.admin_app.post(city_route, {'action':'create'}, status=403) # tells blank posts to bugger off 
     name = self.random()
     url = self.random()
     
     city_data = dict(action='create', name=name, url=url, hours=5, minutes=43)
     self.admin_app.post(city_route, city_data)
     self.admin_app.post(city_route, city_data, status=403) # create the city only once
     
     city = City.get_by_url(url)
     self.assertTrue(city)
     self.assertEqual(name, city.name)
     self.assertEqual(url, city.url)
예제 #5
0
 def get(self, url):
     city = City.get_by_url(url)
     if not city: company = Company.get_by_url(url)
     
     if not city and not company:
         self.redirect('/', False)
         return
     
     data_type = 'city' if city else 'company'
     data = city or company
     start_after = self.read('start_after')
     performances = data.get_performances(start_after = start_after).fetch(PAGE+1)
     start_after = performances[-2].time_sort if len(performances) == PAGE+1 else None
     render_data = dict(performances=performances[:PAGE], 
                     start_after = start_after,
                     auth = utils.authdetails(data.get_route()))
     render_data[data_type] = data 
     
     self.render('public/' + data_type + '.html', render_data)
예제 #6
0
파일: test_city.py 프로젝트: sudhirj/culcal
    def test_city_updating(self):
        city_route = '/_admin/city'
        self.admin_app.post(city_route, {'action':'update'}, status=403) # tells blank posts to bugger off 
        url = self.random()
        City(name = self.random(), url = url, hours = 5, minutes = 45).put()
        
        new_name = self.random()
        new_hours = 6
        new_minutes = 34
        new_url = self.random()
        city_data = dict(action='update', name=new_name, url=new_url, hours=new_hours, minutes=new_minutes)
        self.admin_app.post(city_route+'/'+url, city_data)

        city = City.get_by_url(new_url)
        self.assertTrue(city)
        self.assertEqual(new_name, city.name)
        self.assertEqual(new_url, city.url)    
        self.assertEqual(new_hours, city.hours_offset)    
        self.assertEqual(new_minutes, city.minutes_offset)    
예제 #7
0
파일: company.py 프로젝트: sudhirj/culcal
 def put(self):
     if City.get_by_url(self.url): raise ValueError('This url is being used by a city')
     return super(Company, self).put()
예제 #8
0
 def get(self, city_url=None):
     current_city = City.get_by_url(city_url)
     self.render("admin/city.html", dict(cities=City.all(), current_city=current_city))
예제 #9
0
 def delete(self, city_url=None):
     city = City.get_by_url(city_url)
     if city: city.delete()
     self.get()
예제 #10
0
 def check_city(self):
     city = City.get_by_url(self.read('city'))
     if not city: raise Exception("That city doesn't exist.")
     return city