def test_calls_create_or_update_index( self, mock_create_index, mock_get_mappings, mock_get_configuration, mock_messages): mock_get_configuration.return_value.get_configuration_errors.return_value = None mock_create_index.return_value = None, None, '' index(self.request, 'sample', '2015') mock_create_index.assert_called_once_with( configuration=mock_get_configuration.return_value, mappings=mock_get_mappings.return_value)
def test_calls_create_or_update_index(self, mock_create_index, mock_get_mappings, mock_get_configuration, mock_messages): mock_get_configuration.return_value.get_configuration_errors.return_value = None mock_create_index.return_value = None, None, '' index(self.request, 'sample', '2015') mock_create_index.assert_called_once_with( configuration=mock_get_configuration.return_value, mappings=mock_get_mappings.return_value)
def updateBrewery(request): if request.method == "POST": brewery_id = request.POST.get("brewery_id") brewery = SERVICES.selectBreweryById(brewery_id) previous_logo = brewery.logo if brewery: form = FORMS.updateBreweryForm(request.POST, request.FILES, instance=brewery) else: return SEARCH_VIEWS.index(request) if form.is_valid(): """ brewery = SERVICES.selectBreweryById(brewery_id) brewery.name = COMMON_SERVICES.normalizeStr(form.cleaned_data.get('name')) try: brewery.address = form.cleaned_data.get('address') except: brewery.address = None try: brewery.description = form.cleaned_data.get('description') except: brewery.description = None try: brewery.web = form.cleaned_data.get('web') except: brewery.web = None try: brewery.webshop = form.cleaned_data.get('webshop') except: brewery.webshop = None """ form.save() if brewery.logo: COMMON_SERVICES.resizeImage(brewery.logo) if previous_logo: if previous_logo != str(brewery.logo): os.remove(SETTING.MEDIA_ROOT + '/' + str(previous_logo)) pass else: return SEARCH_VIEWS.index(request) #return BREWERY_VIEWS.breweryDetailInfo(request, brewery.id) return redirect('/brewery/?brewery=' + str(brewery.id))
def updateBeer(request): form = FORMS.updateBeerForm(request.POST) if request.method == "POST": beer_id = request.POST.get("beer_id") if form.is_valid() and beer_id: beer = SERVICES.selectBeerById(beer_id) beer.name = COMMON_SERVICES.normalizeStr(form.cleaned_data.get('name')) try: beer.style = COMMON_SERVICES.normalizeStr( form.cleaned_data.get('style')) except: beer.style = None try: beer.description = form.cleaned_data.get('description') except: beer.description = None try: beer.ibu = COMMON_SERVICES.normalizeStr( form.cleaned_data.get('ibu')) except: beer.ibu = None try: beer.abv = COMMON_SERVICES.normalizeStr( form.cleaned_data.get('abv')) except: beer.abv = None beer.save() else: return SEARCH_VIEWS.index(request) #return BEER_VIEWS.beerDetailInfo(request, beer.id) return redirect('/beer/?beer=' + str(beer.id))
def mergeVenue(request): form = FORMS.mergeVenueForm(request.POST) if form.is_valid(): """ #venue(U), todaystap(U), comment(U), venuemanager(U) 1. todaystapテーブルからmerging_venue_idのレコードをbase_venue_idにupdateする 2. commentテーブルから、merging_venue_idのコメントをbase_venue_idにupdateする 3. venuemanagerテーブルから、merging_venue_idのレコードをbase_venue_idにupdateする 4. venueテーブルからmerging_venueを削除 """ base_venue = SERVICES.selectVenueById( form.cleaned_data.get('base_venue_id')) merging_venue = SERVICES.selectVenueById( form.cleaned_data.get('merging_venue_id')) SERVICES.updateTodaystapVenueMerge(base_venue, merging_venue) SERVICES.updateCommentVenueMerge(base_venue, merging_venue) SERVICES.updateVenuemanagerVenueMerge(base_venue, merging_venue) SERVICES.deleteVenueByVenue(merging_venue) else: return SEARCH_VIEWS.index(request) #return VENUE_VIEWS.venueDetailInfo(request, base_venue.id) return redirect('/venue/?venue=' + str(base_venue.id))
def mergeBeer(request): form = FORMS.mergeBeerForm(request.POST) if form.is_valid(): """ #beer(U), todaystap(U), comment(U), beertasteavg(U) 1. beertasteavgテーブルからmerging_beerを削除 2. commentテーブルから、merging_beer_idのコメントをbase_beer_idにupdateする 3. todaystapテーブルから、merging_beer_idのレコードをbase_beer_idにupdateする 4. beerテーブルからmerging_beerを削除 """ base_beer = SERVICES.selectBeerById( form.cleaned_data.get('base_beer_id')) merging_beer = SERVICES.selectBeerById( form.cleaned_data.get('merging_beer_id')) SERVICES.deleteBeerTasteAvgByBeer(merging_beer) SERVICES.updateCommentBeerMerge(base_beer, merging_beer) SERVICES.updateTodaystapBeerMerge(base_beer, merging_beer) SERVICES.deleteBeerByBeer(merging_beer) else: return SEARCH_VIEWS.index(request) #return BEER_VIEWS.beerDetailInfo(request, base_beer.id) return redirect('/beer/?beer=' + str(base_beer.id))
def mergeBrewery(request): form = FORMS.mergeBreweryForm(request.POST) if form.is_valid(): """ brewery(U), beer(U), TCBFParticipant(U), brewerymanager(U) 1. brewerymanagerテーブルから、merging_brewery_idのレコードをbase_brewery_idにupdateする。すでにレコードが存在した場合はmerging_brewery_idのレコードを削除する。 2. TCBFParticipantテーブルから、merging_brewery_idのレコードをbase_brewery_idにupdateする。すでにレコードが存在した場合はmerging_brewery_idのレコードを削除する。 3. beerテーブルから、merging_brewery_idのレコードをbase_brewery_idにupdateする。 4. breweryテーブルからmerging_breweryを削除する """ base_brewery = SERVICES.selectBreweryById( form.cleaned_data.get('base_brewery_id')) merging_brewery = SERVICES.selectBreweryById( form.cleaned_data.get('merging_brewery_id')) SERVICES.updateBreweryManagerBreweryMerge(base_brewery, merging_brewery) SERVICES.updateTCBFParticipantBreweryMerge(base_brewery, merging_brewery) SERVICES.updateBeerBreweryMerge(base_brewery, merging_brewery) SERVICES.deleteBreweryByBrewery(merging_brewery) else: return SEARCH_VIEWS.index(request) #return BREWERY_VIEWS.breweryDetailInfo(request, base_brewery.id) return redirect('/brewery/?brewery=' + str(base_brewery.id))
def test_adds_message_and_redirects_if_successful( self, mock_get_conf_errors, mock_Conf, mock_create_index, mock_get_mappings, mock_messages): mock_Conf.return_value = None mock_get_conf_errors.return_value = None mock_create_index.return_value = True, None, '' res = index(self.request, 'sample', '2015') mock_messages.success.assert_called_once_with( self.request, 'Index "sample" was created or updated.') self.assertEqual(res.status_code, 302)
def test_adds_message_and_redirects_if_not_successful( self, mock_get_conf_errors, mock_Conf, mock_create_index, mock_get_mappings, mock_messages): mock_Conf.return_value = None mock_get_conf_errors.return_value = None mock_create_index.return_value = None, None, 'error_msg' res = index(self.request, 'sample', '2015') mock_messages.error.assert_called_once_with( self.request, 'The following error(s) occured: error_msg') self.assertEqual(res.status_code, 302)
def updateVenue(request): form = FORMS.updateVenueForm(request.POST) if request.method == "POST": venue_id = request.POST.get("venue_id") venue = SERVICES.selectVenueById(venue_id) previous_photo = venue.photo if venue: form = FORMS.updateVenueForm(request.POST, request.FILES, instance=venue) else: return SEARCH_VIEWS.index(request) if form.is_valid(): """ venue = SERVICES.selectVenueById(venue_id) venue.name = COMMON_SERVICES.normalizeStr(form.cleaned_data.get('name')) try: venue.address = form.cleaned_data.get('address') except: venue.address = None try: venue.description = form.cleaned_data.get('description') except: venue.description = None venue.save() """ form.save() if venue.photo: COMMON_SERVICES.resizeImage_venue_header(venue.photo) if previous_photo: if previous_photo != str(venue.photo): os.remove(SETTING.MEDIA_ROOT + '/' + str(previous_photo)) pass else: return SEARCH_VIEWS.index(request) #return VENUE_VIEWS.venueDetailInfo(request, venue.id) return redirect('/venue/?venue=' + str(venue.id))
def showVenueUpdate(request): logger.info('show venue update form') c = {} if request.method == "POST": key = request.POST.get("key") if not key: return SEARCH_VIEWS.index(request) venue = SERVICES.selectVenueById(key) form = FORMS.updateVenueForm( initial={ 'name': venue.name, 'address': venue.address, 'description': venue.description, 'photo': venue.photo, }) c.update({'venue': venue}) c.update({'venue_update_form': form}) return show(request, c)
def showBeerUpdate(request): logger.info('show beer update form') c = {} if request.method == "POST": key = request.POST.get("key") if not key: return SEARCH_VIEWS.index(request) beer = SERVICES.selectBeerById(key) form = FORMS.updateBeerForm( initial={ 'name': beer.name, 'style': beer.style, 'description': beer.description, 'ibu': beer.ibu, 'abv': beer.abv, }) c.update({'beer': beer}) c.update({'beer_update_form': form}) return show(request, c)
def showBreweryUpdate(request): logger.info('show brewery update form') c = {} if request.method == "POST": key = request.POST.get("key") if not key: return SEARCH_VIEWS.index(request) brewery = SERVICES.selectBreweryById(key) form = FORMS.updateBreweryForm( initial={ 'name': brewery.name, 'address': brewery.address, 'description': brewery.description, 'web': brewery.web, 'webshop': brewery.webshop, 'logo': brewery.logo, }) c.update({'brewery': brewery}) c.update({'brewery_update_form': form}) return show(request, c)
def test_calls_get_mappings(self, mock_get_mappings, mock_messages): index(self.request, 'sample', '2015') mock_get_mappings.assert_called_once_with()
def index(request): if request.method == "POST": action = request.POST["action"] else: action = CONFIG.ACTION_HOME print(action) if action == CONFIG.ACTION_HOME: return HOME_VIEWS.Home(request) elif action == CONFIG.ACTION_SIGNUP: return ACCOUNTS_VIEWS.signup_index(request) elif action == CONFIG.ACTION_SIGNUP_USER: return ACCOUNTS_VIEWS.signup_user(request) elif action == CONFIG.ACTION_BEER_DETAIL: return BEER_VIEWS.beerDetail(request) elif action == CONFIG.ACTION_ADD_BEER_EVALUATION_FORM: return BEER_VIEWS.addBeerEvaluationForm(request) elif action == CONFIG.ACTION_ADD_BEER_EVALUATION: return BEER_VIEWS.addBeerEvaluation(request) elif action == CONFIG.ACTION_BREWERY_DETAIL: return BREWERY_VIEWS.breweryDetail(request) elif action == CONFIG.ACTION_MANAGER_ACCOUNT: return MANAGER_VIEWS.index(request) elif action == CONFIG.ACTION_SEARCH: return SEARCH_VIEWS.index(request) elif action == CONFIG.ACTION_SEARCH_LIST: return SEARCH_VIEWS.searchList(request) elif action == CONFIG.ACTION_DETAIL_SEARCH: return DETAIL_SEARCH_VIEWS.index(request) elif action == CONFIG.ACTION_DETAIL_SEARCH_LIST: return DETAIL_SEARCH_VIEWS.detailSearchList(request) elif action == CONFIG.ACTION_NEWS: return NEWS_VIEWS.news(request) elif action == CONFIG.ACTION_USER_ACCOUNT: return USER_VIEWS.showUser(request) elif action == CONFIG.ACTION_USER_UPDATE: return USER_VIEWS.showUserUpdate(request) elif action == CONFIG.ACTION_UPDATE_USER: return USER_VIEWS.updateUser(request) elif action == CONFIG.ACTION_FOLLOW: return USER_VIEWS.follow(request) elif action == CONFIG.ACTION_UNFOLLOW: return USER_VIEWS.unfollow(request) elif action == CONFIG.ACTION_FOLLOW_INFO: return USER_VIEWS.followInfo(request) elif action == CONFIG.ACTION_FOLLOWER_INFO: return USER_VIEWS.followerInfo(request) elif action == CONFIG.ACTION_USER_BEER_DETAIL: return USER_VIEWS.userBeerDetail(request) elif action == CONFIG.ACTION_VENUE_DETAIL: return VENUE_VIEWS.venueDetail(request) elif action == CONFIG.ACTION_DELETE_COMMENT: return MANAGER_VIEWS.deleteComment(request) elif action == CONFIG.ACTION_BEER_UPDATE: return MANAGER_VIEWS.showBeerUpdate(request) elif action == CONFIG.ACTION_UPDATE_BEER: return MANAGER_VIEWS.updateBeer(request) elif action == CONFIG.ACTION_BREWERY_UPDATE: return MANAGER_VIEWS.showBreweryUpdate(request) elif action == CONFIG.ACTION_UPDATE_BREWERY: return MANAGER_VIEWS.updateBrewery(request) elif action == CONFIG.ACTION_BEER_MERGE: return MANAGER_VIEWS.showBeerMerge(request) elif action == CONFIG.ACTION_MERGE_BEER: return MANAGER_VIEWS.mergeBeer(request) elif action == CONFIG.ACTION_BREWERY_MERGE: return MANAGER_VIEWS.showBreweryMerge(request) elif action == CONFIG.ACTION_MERGE_BREWERY: return MANAGER_VIEWS.mergeBrewery(request) elif action == CONFIG.ACTION_VENUE_UPDATE: return MANAGER_VIEWS.showVenueUpdate(request) elif action == CONFIG.ACTION_UPDATE_VENUE: return MANAGER_VIEWS.updateVenue(request) elif action == CONFIG.ACTION_VENUE_MERGE: return MANAGER_VIEWS.showVenueMerge(request) elif action == CONFIG.ACTION_MERGE_VENUE: return MANAGER_VIEWS.mergeVenue(request) elif action == CONFIG.ACTION_UNTOUCHED_BREWERY: return MANAGER_VIEWS.untouchedBrewery(request) elif action == CONFIG.ACTION_UNTOUCHED_BEER: return MANAGER_VIEWS.untouchedBeer(request) elif action == CONFIG.ACTION_UNTOUCHED_VENUE: return MANAGER_VIEWS.untouchedVenue(request) elif action == CONFIG.ACTION_LATEST_COMMENT: return MANAGER_VIEWS.latestComment(request) elif action == CONFIG.ACTION_LATEST_USERS: return MANAGER_VIEWS.latestUsers(request) else: return view(request)
def test_calls_QuestionnaireConfiguration(self, mock_conf, mock_messages): index(self.request, 'sample', '2015') mock_conf.assert_called_once_with(code='sample', edition='2015')
def test_returns_bad_request_if_errors_in_configuration( self, mock_conf, mock_messages): mock_conf.configuration_error = 'error' res = index(self.request, 'sample', '2015') self.assertEqual(res.status_code, 400)
def test_requires_superuser_permissions(self, mock_messages): request = self.factory.get(self.url) request.user = create_new_user(id=99, email='*****@*****.**') request.session = {} with self.assertRaises(PermissionDenied): index(request, 'foo', 'bar')