def authenticate(self, username=None, password=None): user = User.all().filter('username = '******'email =', username).get() if user and user.check_password(password): return user return None
def authenticate(self, token=None, req_token = None): if not token: return None if not req_token: return None token = oauth.OAuthToken.from_string(token) if token.key != req_token: return None token = exchange_request_token_for_access_token(CONSUMER, CONNECTION, token) # Actually login obj = is_authenticated(CONSUMER, CONNECTION, token) if obj is False: return None #try: user = User.objects.get(username=obj['screen_name']) #except: user = User(username=obj['screen_name']) #req.session['user_id'] = user.id #del req.session['token'] user = User.all().filter('username = '******'screen_name']).get() if not user: user = User(key_name="usertw%s" % obj['screen_name'], username = "******" % (obj['screen_name'])) user.oauth_token = token.key user.oauth_token_secret = token.secret user.save() return user
def display(request, username='', friends=False): entries = Entry.objects.latest(username, friends) if friends: page_title = "Posts by %s and Friends" % username feed_title = "%s and Friends Feed" % username feed_url = '/feed/friends/'+username, else: if username: user = User.all().filter('username = '******'s Feed" % username feed_url = '/feed/'+username, else: page_title = "Home" feed_title = "Everyone's Feed" feed_url = '/feed/' extra_context = dict( page_title = page_title, feed_title = feed_title, feed_url = feed_url, username = username, ) return object_list(request, entries, paginate_by=10, extra_context=extra_context)
def test_registration_view(self): """ Test that the registration view rejects invalid submissions, and creates a new user and redirects after a valid submission. """ # Invalid data fails. alice = User.all().filter('username ='******'alice').get() alice.is_active = True alice.put() response = self.client.post(reverse('registration_register'), data={ 'username': '******', # Will fail on username uniqueness. 'email': '*****@*****.**', 'password1': 'foo', 'password2': 'foo' }) self.assertEqual(response.status_code, 200) self.failUnless(response.context[0]['form']) self.failUnless(response.context[0]['form'].errors) response = self.client.post(reverse('registration_register'), data={ 'username': '******', 'email': '*****@*****.**', 'password1': 'foo', 'password2': 'foo' }) self.assertEqual(response.status_code, 302) self.assertEqual(response['Location'], 'http://testserver%s' % reverse('registration_complete')) self.assertEqual(RegistrationProfile.all().count(), 3)
def feed(request, username='', friends=False): host = 'http://%s' % request.get_host() entries = Entry.objects.latest(username, friends)[:MAX_FEED_ENTRIES] if friends: feed_title = "%s and Friends Feed" % username source = host+'/feed/friends/'+username else: if username: user = User.all().filter('username = '******'s Feed" % username source = host+'/feed/'+username else: feed_title = "Everyone's Feed" source = host+'/feed/' context = dict( hub = HUB, entries = entries, first_entry = entries[0] if entries else None, username = username if username else 'Everyone', feed_title = feed_title, userpage = host+'/'+username, source = source ) return render_to_response('atom.xml', context, mimetype="application/atom+xml")
def test_registration_view(self): """ Test that the registration view rejects invalid submissions, and creates a new user and redirects after a valid submission. """ # Invalid data fails. alice = User.all().filter('username ='******'alice').get() alice.is_active = True alice.put() response = self.client.post( reverse('registration_register'), data={ 'username': '******', # Will fail on username uniqueness. 'email': '*****@*****.**', 'password1': 'foo', 'password2': 'foo' }) self.assertEqual(response.status_code, 200) self.failUnless(response.context[0]['form']) self.failUnless(response.context[0]['form'].errors) response = self.client.post(reverse('registration_register'), data={ 'username': '******', 'email': '*****@*****.**', 'password1': 'foo', 'password2': 'foo' }) self.assertEqual(response.status_code, 302) self.assertEqual( response['Location'], 'http://testserver%s' % reverse('registration_complete')) self.assertEqual(RegistrationProfile.all().count(), 3)
def generate_internal_username(self, seed=False): """ Eventually this should be looking at a base profile and pulling as much basic information (first name, last name, email, etc) and parsing it accordingly. for now, it's some ugly thing like this. """ username = '' username = self.real_name if not username: try: username = self.username except: pass if not username: username = self.email if not username: try: username = self.identity except: pass username = '******' % (username, seed) if seed else username try: username = User.all().filter('username = ', username)[0] except: return username else: seed = seed + 1 if seed else 1 return self.generate_internal_username(seed=seed)
def generate_internal_username(self, seed = False): """ Eventually this should be looking at a base profile and pulling as much basic information (first name, last name, email, etc) and parsing it accordingly. for now, it's some ugly thing like this. """ username = '' username = self.real_name if not username: try: username = self.username except: pass if not username: username = self.email if not username: try: username = self.identity except: pass username = '******'%(username,seed) if seed else username try: username = User.all().filter('username = ', username)[0] except: return username else: seed = seed + 1 if seed else 1 return self.generate_internal_username(seed=seed)
def clean_username(self): username = self.cleaned_data.get('username') user = User.all().filter('username ='******'This username is already in use.')) else: return username
def clean_email(self): """ Validates that a user exists with the given e-mail address. """ email = self.cleaned_data["email"].lower() self.users_cache = User.all().filter('email =', email).fetch(100) if len(self.users_cache) == 0: raise forms.ValidationError(_("That e-mail address doesn't have an associated user account. Are you sure you've registered?"))
def get_context_data(self, *args, **kwargs): ctx = super(self.__class__, self).get_context_data(*args, **kwargs) ctx.update({ 'object_list': User.all(), }) return ctx
def testDeleteUser(self): """Tests RpxBackend.delete_user(). Tests that both the user and the associated RPX data entries are deleted. """ user, auth_info = self.__create_normal_user__() user_key = user.key() number_of_users_entries = User.all().count() number_of_rpx_entries = RpxData.all().count() RpxBackend.delete_user(self.backend, user) self.assert_(User.all().count() == number_of_users_entries - 1) self.assert_(RpxData.all().count() == number_of_rpx_entries - 1) self.assert_(RpxBackend.get_user(self.backend, user_key) == None)
def clean_email(self): """ Validate that the supplied email address is unique for the site. """ email = self.cleaned_data['email'].lower() if User.all().filter('email =', email).count(1): raise forms.ValidationError(_(u'This email address is already in use. Please supply a different email address.')) return email
def set_all_user_orgs_to_maventy(): '''Iterate over all the users in the DB and set org to "maventy". This was useful once, and may be useful if we modify User.all() to some other query''' org = 'maventy' for userobj in User.all(): userobj.organization = org userobj.save() logging.info("Set %s organization to %s" % (userobj.username, org))
def clean_email(self): """ Validate that the supplied email address is unique for the site. """ email = self.cleaned_data['email'].lower() if User.all().filter('email =', email).filter( 'is_active =', True).count(1): raise forms.ValidationError(__(u'This email address is already in use. Please supply a different email address.')) return email
def clean_username(self): username = self.cleaned_data.get('username') try: #user = User.objects.get(username=username) user = User.all() user.filter('username = '******'This username is already in use.'))
def connect_users(request): payload = {} logging.info(request.POST) fb = Facebook(settings.FACEBOOK_API_KEY, settings.FACEBOOK_API_SECRET) fb.session_key = request.POST['fb_sig_session_key'] user_info_response = fb.users.getInfo([request.POST['fb_sig_user']], ['email_hashes', 'first_name', 'last_name']) logging.info(user_info_response) for hash in user_info_response[0]['email_hashes']: user = User.all().filter('email_hash = ', hash).get() user.facebook_id = int(request.POST['fb_sig_user']) user.put() return render("standardpage.html", payload, request)
def clean_email(self): """ Validate that the supplied email address is unique for the site. """ email = self.cleaned_data["email"].lower() if User.all().filter("email =", email).filter("is_active =", True).count(1): raise forms.ValidationError( __(u"This email address is already in use. Please supply a different email address.") ) return email
def empty_datastore(request): query = User.all() while query.count() > 0: results = query.fetch(500) db.delete(results) query = User.all() query = Link.all() while query.count() > 0: results = query.fetch(500) db.delete(results) query = Link.all() query = Tag.all() while query.count() > 0: results = query.fetch(500) db.delete(results) query = Tag.all() return HttpResponseRedirect('/delvicious/')
def index(request): """ Display the current system status. """ # Simple form to add new suggestions. suggestion_form = SuggestionForm(request.POST or None) if suggestion_form.is_valid(): return submit_suggestion(request, suggestion_form) # Recent time intervals. day = datetime.now() - timedelta(hours=24) week = datetime.now() - timedelta(days=7) # Show newest suggestions. suggestion_count = Reminder.all().filter('owner', None).count() suggestion_count_24h = (Reminder.all().filter('owner', None) .filter('created >', day).count()) suggestion_count_7d = (Reminder.all().filter('owner', None) .filter('created >', week).count()) suggestion_list = (Reminder.all().filter('owner', None) .order('-created').fetch(RECENT_LIMIT)) # Show newest tags. tag_count = Tag.all().count() tag_count_24h = Tag.all().filter('created >', day).count() tag_count_7d = Tag.all().filter('created >', week).count() tag_list = Tag.all().order('-created').fetch(RECENT_LIMIT * 4) # Registered user accounts. user_count = User.all().count() user_count_24h = User.all().filter('date_joined >', day).count() user_count_7d = User.all().filter('date_joined >', week).count() user_list = User.all().order('-date_joined').fetch(RECENT_LIMIT) # Show newest feedback. # feedback_count = Feedback.all().count() # feedback_count_24h = Feedback.all().filter('submitted >', day).count() # feedback_count_7d = Feedback.all().filter('submitted >', week).count() # feedback_list = Feedback.all().order('-submitted').fetch(RECENT_LIMIT) return render_to_response(request, 'dashboard/index.html', locals())
def clean_username(self): username = self.cleaned_data.get('username') try: # GAE implementation user = User.all().filter('username ='******'This username is already in use.'))
def create_user(request): try: u = User.all().filter("username = "******"admin").fetch(1)[0] except IndexError: u = None if not u: u = User(username="******") u.set_password('password') u.put() return HttpResponse(u"Created")
def locations(request): paginate = Paginate() users = User.all() c = {} c.update(csrf(request)) page = {} page.update(message.get_flash_message(request)) page.update(paginate.paginate(0, 1)) c["page"] = page c["users"] = users return render_to_response('locations/index.jinja', c)
def login(self, request): """ Displays the login form for the given HttpRequest. """ from django.contrib.auth.models import User # If this isn't already the login page, display it. if not request.POST.has_key(LOGIN_FORM_KEY): if request.POST: message = _("Please log in again, because your session has expired.") else: message = "" return self.display_login_form(request, message) # Check that the user accepts cookies. if not request.session.test_cookie_worked(): message = _("Looks like your browser isn't configured to accept cookies. Please enable cookies, reload this page, and try again.") return self.display_login_form(request, message) else: request.session.delete_test_cookie() # Check the password. username = request.POST.get('username', None) password = request.POST.get('password', None) user = authenticate(username=username, password=password) if user is None: message = ERROR_MESSAGE if u'@' in username: # Mistakenly entered e-mail address instead of username? Look it up. users = User.all().filter('email =', username).fetch(2) if not users or len(users) > 1: message = _("Usernames cannot contain the '@' character.") else: user = users[0] if user.check_password(password): message = _("Your e-mail address is not your username." " Try '%s' instead.") % user.username else: message = _("Usernames cannot contain the '@' character.") return self.display_login_form(request, message) # The user data is correct; log in the user in and continue. else: if user.is_active and user.is_staff: login(request, user) return http.HttpResponseRedirect(request.get_full_path()) else: return self.display_login_form(request, ERROR_MESSAGE)
def send_connect_users(request): payload = {} users = User.all().filter('username > ', request.GET['name']).fetch(100) hashes = [] fb = Facebook(settings.FACEBOOK_API_KEY, settings.FACEBOOK_API_SECRET) for user in users: #logging.debug(user) user.email_hash = fb.hash_email(user.email) hashes.append({"email_hash": user.email_hash}) username = user.username user.put() logging.info(hashes) logging.info(username) user_info_response = fb.connect.registerUsers(hashes) logging.info(user_info_response) payload['text'] = "<a href='/send_connect?name=%s'>%s</a>" % (username, username) return render("standardpage.html", payload, request)
def _checklogin(request, *args, **kwargs): if request.user.is_authenticated() and request.user.is_staff: # The user is valid. Continue to the admin page. return view_func(request, *args, **kwargs) assert hasattr(request, 'session'), "The Django admin requires session middleware to be installed. Edit your MIDDLEWARE_CLASSES setting to insert 'django.contrib.sessions.middleware.SessionMiddleware'." # If this isn't already the login page, display it. if LOGIN_FORM_KEY not in request.POST: if request.POST: message = _("Please log in again, because your session has expired.") else: message = "" return _display_login_form(request, message) # Check that the user accepts cookies. if not request.session.test_cookie_worked(): message = _("Looks like your browser isn't configured to accept cookies. Please enable cookies, reload this page, and try again.") return _display_login_form(request, message) else: request.session.delete_test_cookie() # Check the password. username = request.POST.get('username', None) password = request.POST.get('password', None) user = authenticate(username=username, password=password) if user is None: message = ERROR_MESSAGE if '@' in username: # Mistakenly entered e-mail address instead of username? Look it up. users = list(User.all().filter('email =', username)) if len(users) == 1 and users[0].check_password(password): message = _("Your e-mail address is not your username. Try '%s' instead.") % users[0].username else: # Either we cannot find the user, or if more than 1 # we cannot guess which user is the correct one. message = _("Usernames cannot contain the '@' character.") return _display_login_form(request, message) # The user data is correct; log in the user in and continue. else: if user.is_active and user.is_staff: login(request, user) return http.HttpResponseRedirect(request.get_full_path()) else: return _display_login_form(request, ERROR_MESSAGE)
def detail(request, key_name): """ Show details for a public suggestion, and a button to create a reminder from it. """ suggestion = get_object_or_404(Reminder, key_name=key_name) logging.debug(request.method) email_form = EmailForm(request.POST) if request.method == "POST": user = request.user if user.is_anonymous() and email_form.is_valid(): email = email_form.cleaned_data['email'] existing = User.all().filter('email', email).fetch(1) if len(existing): return HttpResponseRedirect( '/accounts/login/?email=%s&next=%s' % (email, request.path)) user = create_user(request, email) return create_reminder(request, user, suggestion) return render_to_response( request, 'suggestions/detail.html', locals())
def latest(self, username='', friends=False): """ get entries ordered by update date. username = '' => all entries username != '' and not Friends = > entries by username username != '' and Friends = > entries by username and friends """ if friends: entries = Entry.all().filter('subscribers_usernames = ', username).order('-updated') else: if username: user = User.all().filter('username = '******'owner = ', user).\ order('-updated') else: entries = Entry.all().order('-updated') return entries
def connect_users(request): #<QueryDict: {u'fb_sig_time': [u'1230351016.3299'], # u'fb_sig_authorize': [u'1'], # u'fb_sig_locale': [u'en_US'], # u'fb_sig_session_key': [u'2.oYf3yaL9PnROgLyp5cBg9A__.86400.1230440400-1144902201'], # u'fb_sig_in_new_facebook': [u'1'], # u'fb_sig_profile_update_time': [u'0'], # u'fb_sig_user': [u'1144902201'], # u'fb_sig_expires': [u'1230440400'], # u'fb_sig': [u'807f94cba0b3a26f359cd5a7c16cdcd6'], # u'fb_sig_api_key': [u'9669d802ca3cdcc15172ccd7b4636646'], # u'fb_sig_added': [u'1']}> payload = {} logging.info(request.POST) fb = Facebook(settings.FACEBOOK_API_KEY, settings.FACEBOOK_API_SECRET) fb.session_key = request.POST['fb_sig_session_key'] user_info_response = fb.users.getInfo([request.POST['fb_sig_user']], ['email_hashes', 'first_name', 'last_name']) logging.info(user_info_response) for hash in user_info_response[0]['email_hashes']: user = User.all().filter('email_hash = ', hash).get() user.facebook_id = int(request.POST['fb_sig_user']) user.put() return render("standardpage.html", payload, request)
def show_person(): from myapp.models import Person from django.contrib.auth.models import User person = None u = User.all().filter('username ='******'admin').get() return { 'person': person, 'u': u}
def testFindByUserAndMonthReturnsNoneOnNoStats(self): u = User.all().filter('username ='******'joe').get() assert(u) s = models.MonthlyUserStats.find_by_user_and_month_offset(u, 0) self.assertEqual(s, None)
def testFindByUserAndMonthReturnsRightMonthsStats(self): u = User.all().filter('username ='******'admin').get() assert(u) s = models.MonthlyUserStats.find_by_user_and_month_offset(u, 0) self.failIf(s is None)
def recent_users(self, request): recent_users = User.all().order_by('date_joined') serializer = self.get_serializer(recent_users, many=True) return Response(serializer.data)
def tearDown(self): for u in User.all(): u.delete()