예제 #1
0
파일: views.py 프로젝트: Tibodef/PythonBlog
def login():
    if current_user.is_authenticated():
        flash(gettext('You are already signed in.'))
        return redirect(url_for('index'))

    form = LoginForm()
    if form.validate_on_submit():
        try:
            user = User.find_by_email(form.email.data)
            if (user is not None) and (user.check_password(form.password.data)): 
                login_user(user)
                
                # Update the User's info
                user.last_login = user.last_seen
                user.last_seen = datetime.datetime.utcnow()
                user.save()
                redirect_to = url_for('dashboard')
                if 'redirect_to' in session:
                    redirect_to = session['redirect_to']
                    session.pop('redirect_to', None)
                flash(gettext('Signed in successfully.'))
                return redirect(redirect_to)
            else:
                raise Exception(gettext('User not found or invalid password'))
        except:
            flash(gettext('Invalid email or password'), 'error')

    return render_template('admin/signin.html', 
        title = gettext('Sign In'),
        form = form)
예제 #2
0
 def validate_email(self, email):
     user = User.find_by_email(email.data)
     if not user:
         raise ValidationError(
             "Sorry! there is no account with that email, you must register first"
         )
     return True
예제 #3
0
	def dispatch_request(self):
		try:
			user = request.form['userEmail']
			title = request.form['missionTitle'].encode('utf-8')
			contents = request.form['missionContents'].encode('utf-8')
			difficulty = request.form['missionDifficulty']
			effect = request.form['missionEffect']

			effect = int(float(effect))
			difficulty = int(float(difficulty))

			m = Mission(title, contents, difficulty, effect)
			m.push_data()

			m = Mission.get_mission(title)
			u = User.find_by_email(user)
		
			ms = MissionState(u.id, m.id, '1')
			ms.push_data()

			response = Lusponse.make_success_response('success make missions', '')
			return response

		except Exception, e:
			response = Lusponse.make_fail_response('fail make missions', "%r"%e)
			return response
예제 #4
0
def test_register(client, init_database, valid_register_params):
    response = client.post(url_for("auth.register"),
                           data=valid_register_params,
                           follow_redirects=True)
    user = User.find_by_email(valid_register_params["email"])

    assert response.status_code == 200
    assert "please login" in str(response.data)
    assert user.name == valid_register_params["name"].title()
    assert user.email == valid_register_params["email"]
예제 #5
0
    def tmp_test_info_setup(self):
        self.make_users()
        print 'Make Users : %d'%(len(User.query.all() ) )
        self.ptrol_all_users()

        print UserInfo.query.count() == 12
        print User.query.count() == 12
        pprint(User.query.all())

        test_user = User('test_user5393', '5393')
        db.session.add(test_user)
        db.session.commit()

        test_user_info = UserInfo._make_user_info_with_email('test_user5393', 5, 3, 9, 3)
        db.session.add(test_user_info)
        db.session.commit()
        
        assert UserInfo.query.count() == 13
        assert User.query.count() == 13

        test_user = User.find_by_email('test_user5393')
        test_user_info = test_user.user_info.first()
        
        print test_user_info.get_avg_energy_data_with_date(datetime(2013, 10, 1, 1), datetime(2013, 10, 31, 23, 59, 59))

        self.sign_up('test_user7193', '7193')   
        self.sign_in('test_user7193', '7193')   
        self.info_setup('test_user7193', 7, 1, 9 , 3)

        test_user = User.find_by_email('test_user7193')
        test_user_info = test_user.user_info.first()
        
        print test_user_info.get_avg_energy_data_with_date(datetime(2013, 10, 1, 1), datetime(2013, 10, 31, 23, 59, 59))

        print '++++++++++++++++++++++++++++++++++++++++++++++++++++++++'
        rv = self.getmonthdata('User7193')
        print rv.data 
        print '++++++++++++++++++++++++++++++++++++++++++++++++++++++++'
예제 #6
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for("users.home"))

    form = LoginForm()
    if form.validate_on_submit():
        user = User.find_by_email(form.email.data)

        if user.check_password(form.password.data):
            login_user(user, remember=form.remember.data)
            return redirect(url_for("users.home"))
        else:
            flash("Invalid email or password", "danger")

    return render_template("auth/login.html", form=form)
예제 #7
0
	def get_month_energy_datas(cls, email):
		from app.users.models import User
		user = User.find_by_email(email)

		year = datetime.now().year
		month = datetime.now().month
		max_day = datetime.now().day
		month_data_list = []
		
		for day in xrange(1, max_day):
			start_date = datetime(year, month, day)
			end_date = start_date + timedelta(days=1)
			day_datas = cls.get_energy_datas_with_date(user.id, start_date, end_date)
			data_sum = 0;
			for day_data in day_datas:
				data_sum += day_data.energy_amount
			month_data_list.append(data_sum)
			
		for index in xrange(2, max_day-1):
			month_data_list[index] += month_data_list[index-1]

		return month_data_list
예제 #8
0
 def validate_email(self, email):
     user = User.find_by_email(email.data)
     if user:
         raise ValidationError("Sorry! this email is already taken.")
     return True
예제 #9
0
	def _make_energy_data_with_email(cls, email, submit_time, energy_amount):
		from app.users.models import User
		user_id = User.find_by_email(email).id
		return EnergyData(user_id, submit_time, energy_amount)