def setUp(self): UserPreferences.objects.all().delete() UserPreferences(user_id=self.USER_ID, home_location=(-20.2877528, -40.2932812), min_price=0, max_price=4, radius_in_meters=5000, restaurant_types=['italian', 'brazilian', 'BBQ']).save()
def makeUserPrefs(self, **override): defaults = { 'user': self.normal, 'zosia': self.zosia, 'contact': 'fb: me', 'shirt_size': 'S', 'shirt_type': 'f', 'terms_accepted': True } defaults.update(**override) return UserPreferences(**defaults)
def get_default_user_preference(user_id): user_preferences = UserPreferences() try: user_preferences = UserPreferences.objects.get(user_id=user_id) except UserPreferences.DoesNotExist: """ Return the default preferences if query set returns empty preferences """ user_preferences.timezone_field = UserPreferences._meta.get_field( 'timezone_field').get_default() user_preferences.available_days = UserPreferences._meta.get_field( 'available_days').get_default() user_preferences.available_from = datetime.strptime( UserPreferences._meta.get_field('available_from').get_default(), '%H:%M:%S.%f').time() user_preferences.available_till = datetime.strptime( UserPreferences._meta.get_field('available_till').get_default(), '%H:%M:%S.%f').time() return user_preferences
def createUsers(request): user_obj = User.objects.get(id=request.user.id) if user_obj.is_staff == 0: return HttpResponseRedirect('/users/')#user does not have permission to see admin page s = xmlrpclib.Server(serverPort, allow_none=True) loc_list = s.QueryInterfaceImpl.rpcGetValues("Location", dataset_id) regions=Regions.objects.defer("id").order_by('short')#.values_list('short', flat=True) regions_lookup={} for r in regions: regions_lookup[r.short]=r.long regions_lookup=json.dumps(regions_lookup) isCreated = False; username = request.GET.get("UserName") if username == '': return render(request,'admin.html', {'isCreated':isCreated, 'missedValue':'Username',"regions":regions,"regions_lookup":regions_lookup,"location_list":loc_list}) try: user_obj = User.objects.get(username=username) except User.DoesNotExist: user_obj = None if user_obj is not None: return render(request,'admin.html', {'isCreated':isCreated, 'dupValue':'Username',"regions":regions,"regions_lookup":regions_lookup,"location_list":loc_list}) firstname = request.GET.get("FirstName") if firstname == '': return render(request,'admin.html', {'isCreated':isCreated, 'missedValue':'First Name', "regions":regions,"regions_lookup":regions_lookup,"location_list":loc_list}) lastname = request.GET.get("LastName") if lastname == '': return render(request,'admin.html', {'isCreated':isCreated, 'missedValue':'Last Name',"regions":regions,"regions_lookup":regions_lookup,"location_list":loc_list}) email = request.GET.get("email") if email == '': return render(request,'admin.html', {'isCreated':isCreated, 'missedValue':'email',"regions":regions,"regions_lookup":regions_lookup,"location_list":loc_list}) password = request.GET.get("Password") if password == '': return render(request,'admin.html', {'isCreated':isCreated, 'missedValue':'Password',"regions":regions,"regions_lookup":regions_lookup,"location_list":loc_list}) prefstates=request.GET.getlist("State") preflocs=request.GET.getlist("Location") if '' in prefstates: prefstates.remove('') if '' in preflocs: preflocs.remove('') if len(prefstates)==0: return render(request,'admin.html', {'isCreated':isCreated, 'missedValue':'No state selected',"regions":regions,"regions_lookup":regions_lookup,"location_list":loc_list}) if request.GET.get('isSuperUser') is None: isSuperUser = False else: isSuperUser = True if request.GET.get('isStaff') is None: isStaff = False else: isStaff = True if request.GET.get('saveHist') is None: isSaveHist = 0 else: isSaveHist = 1 if request.GET.get('hidePictures') is None: isHidePic = 0 else: isHidePic = 1 if request.GET.get('blurPictures') is None: isBlurPic = 0 else: isBlurPic = 1 newUser = User.objects.create_user(username,email,password) newUser.first_name=firstname newUser.last_name=lastname newUser.is_staff=isStaff newUser.save() #set user preferences newPref = UserPreferences(user=newUser, save_history = isSaveHist, hide_pictures=isHidePic, blur_pictures=isBlurPic) newPref.save() for st in prefstates: UserLocPref(user=newUser,type='state',value=str(st)).save() if len(preflocs)>0: for loc in preflocs: UserLocPref(user=newUser,type='location',value=str(loc)).save() isCreated = True return render(request,'admin.html', {'user_created':newUser,"isCreated":isCreated,"regions":regions,"regions_lookup":regions_lookup,"location_list":loc_list})
def changePrefs(request): s = xmlrpclib.Server(serverPort, allow_none=True) user_obj = User.objects.get(id=request.user.id) try: user_pref = UserPreferences.objects.get(user=user_obj) user_pref_old = deepcopy(user_pref) except UserPreferences.DoesNotExist: user_pref = UserPreferences(user=user_obj) user_pref_old = deepcopy(user_pref) user_states = UserLocPref.objects.filter(user=user_obj,type='state') user_locs = UserLocPref.objects.filter(user=user_obj,type='location') changesMade=False prefstates=request.GET.getlist("State") preflocs=request.GET.getlist("Location") if '' in prefstates: prefstates.remove('') if '' in preflocs: preflocs.remove('') #if states have been selected, delete old states, add new states if len(prefstates)>0: changesMade=True if user_states.exists(): user_states.delete() for st in prefstates: UserLocPref(user=user_obj,type='state',value=str(st)).save() #clear locations if user_locs.exists(): user_locs.delete() #add new locations in case any have been selected. if len(preflocs)>0: for loc in preflocs: UserLocPref(user=user_obj,type='location',value=str(loc)).save() else: #no changes to states or locations made. Get current vaules if user_states.exists(): prefstates = user_states.values_list('value',flat=True) else: prefstates=[] if user_locs.exists(): preflocs = user_locs.values_list('value',flat=True) else: preflocs=[] if request.GET.get('saveHist') is None: user_pref.save_history = 0 else: user_pref.save_history = 1 if request.GET.get('hidePictures') is None: user_pref.hide_pictures = 0 else: user_pref.hide_pictures = 1 if request.GET.get('blurPictures') is None: user_pref.blur_pictures = 0 else: user_pref.blur_pictures = 1 #user_pref.email_alerts = #user_pref.notify_common_flags = user_pref.save() #check if settings have changed if user_pref.save_history!=user_pref_old.save_history: changesMade=True elif user_pref.hide_pictures !=user_pref_old.hide_pictures: changesMade=True elif user_pref.blur_pictures!=user_pref_old.blur_pictures: changesMade=True #regions and locations for user interface: loc_list = s.QueryInterfaceImpl.rpcGetValues("Location", dataset_id) regions=Regions.objects.defer("id").order_by('short')#.values_list('short', flat=True) regions_lookup={} for r in regions: regions_lookup[r.short]=r.long regions_lookup=json.dumps(regions_lookup) return render(request,'settings.html', {'changesMade':changesMade,'user':user_obj,"preferences":user_pref, "user_locations":", ".join(preflocs),"regions":regions,"regions_lookup":regions_lookup, "location_list":loc_list,"user_states":", ".join(prefstates)})