Skip to content

Commit 97e3b2d

Browse files
Merge pull request #41 from DiptoChakrabarty/model-name
Model name Modification and methods
2 parents dfbefc6 + aec3520 commit 97e3b2d

1,415 files changed

Lines changed: 37 additions & 445924 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,4 @@
11
__pycache__
22
resume/.env
3+
venv
4+
site.db

resume/forms.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
from wtforms import StringField, PasswordField,SubmitField,BooleanField,TextAreaField
44
from wtforms.fields.html5 import DateField
55
from wtforms.validators import DataRequired,Length,Email,EqualTo,ValidationError,Regexp
6-
from resume.models import user
6+
from resume.models import UserModel
77
from flask_login import current_user
88

99
class Reg(FlaskForm):
@@ -18,12 +18,12 @@ class Reg(FlaskForm):
1818
submit = SubmitField('Sign Up')
1919

2020
def validate_username(self,username):
21-
users = user.query.filter_by(username=username.data).first()
21+
users = UserModel.find_by_username(username.data)
2222
if users:
2323
raise ValidationError('Username used already')
2424

2525
def validate_email(self,email):
26-
email = user.query.filter_by(email=email.data).first()
26+
email = UserModel.find_by_email(email.data)
2727
if email:
2828
raise ValidationError('Email used already')
2929

@@ -50,12 +50,12 @@ class account(FlaskForm):
5050
submit = SubmitField('Update Account')
5151
def validate_username(self,new_username):
5252
if new_username.data != current_user.username:
53-
username = user.query.filter_by(username=new_username.data)
53+
username = UserModel.find_by_username(new_username.data)
5454
if username:
5555
raise ValidationError("Username Already present")
5656
def validate_email(self,new_email):
5757
if new_email != current_user.email:
58-
emailid = user.query.filter_by(email=new_email.data)
58+
emailid = UserModel.find_by_email(new_email.data)
5959
if emailid:
6060
return ValidationError("Email Id used already")
6161

@@ -163,7 +163,7 @@ class requestresetform(FlaskForm):
163163
submit = SubmitField("Reset Password")
164164

165165
def validate_email(self,email):
166-
user_email = user.query.filter_by(email=email.data).first()
166+
user_email = UserModel.find_by_email(email.data)
167167
if user_email is None:
168168
raise ValidationError("The email is unverified please register using this email")
169169

resume/models.py

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,11 @@
66

77
@login_manager.user_loader
88
def load_user(id):
9-
return user.query.get(int(id))
9+
return UserModel.query.get(int(id))
1010

1111

12-
class user(db.Model,UserMixin):
12+
class UserModel(db.Model,UserMixin):
13+
__tablename__= "user"
1314
id = db.Column(db.Integer, primary_key=True)
1415
username = db.Column(db.String(20),unique=True,nullable=False)
1516
email = db.Column(db.String(120),unique=True,nullable=False)
@@ -31,6 +32,23 @@ class user(db.Model,UserMixin):
3132
def __retr__(self):
3233
return "User {} Email {} Image {}".format(self.username,self.email,self.image_file)
3334

35+
36+
def add_to_database(self):
37+
db.session.add(self)
38+
db.session.commit()
39+
40+
def delete_from_database(self):
41+
db.session.delete(self)
42+
db.session.commit()
43+
44+
@classmethod
45+
def find_by_username(cls,username):
46+
return cls.query.filter_by(username=username).first()
47+
48+
@classmethod
49+
def find_by_email(cls,email):
50+
return cls.query.filter_by(email=email).first()
51+
3452
def reset_token(self,expires_sec=1800):
3553
s = serializer(app.config['SECRET_KEY'],expires_sec)
3654
return s.dumps({"user_id": self.id}).decode("utf-8")
@@ -42,7 +60,7 @@ def verify_token(token):
4260
user_id = s.loads(token)['user_id']
4361
except:
4462
return None
45-
return user.query.get(user_id)
63+
return UserModel.query.get(user_id)
4664

4765

4866

resume/routes.py

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
from flask import Flask,make_response,render_template,url_for,flash,redirect,request,abort
22
from resume.forms import Reg,Login,account,posting,resumebuilder,useredu,userexp,userpro,usersk,achieve,requestresetform,resetpassword
3-
from resume.models import user,education,experience,projects,userdetails,skills,achievements
3+
from resume.models import UserModel,education,experience,projects,userdetails,skills,achievements
44
from resume import app,db, bcrypt , mail
55
from flask_login import login_user,current_user,logout_user,login_required
66
from flask_mail import Message
@@ -26,9 +26,8 @@ def register():
2626
form = Reg()
2727
if form.validate_on_submit():
2828
hashed = bcrypt.generate_password_hash(form.password.data).decode('utf-8')
29-
new_user = user(username=form.username.data,email=form.email.data,password=hashed)
30-
db.session.add(new_user)
31-
db.session.commit()
29+
new_user = UserModel(username=form.username.data,email=form.email.data,password=hashed)
30+
new_user.add_to_database()
3231
flash(f'Account Created for {form.username.data}!','success')
3332
return redirect(url_for('login'),code=302)
3433
return render_template('register.html',title='Register',form=form)
@@ -39,7 +38,7 @@ def login():
3938
return redirect(url_for('hello'),code=301)
4039
form = Login()
4140
if form.validate_on_submit():
42-
logged = user.query.filter_by(email=form.email.data).first()
41+
logged = UserModel.find_by_email(form.email.data)
4342
if logged and bcrypt.check_password_hash(logged.password,form.password.data):
4443
login_user(logged,remember=form.remember.data)
4544
next_page = request.args.get('next')
@@ -354,7 +353,7 @@ def delete_pro(project_id):
354353
#### Reset Password ####
355354
def send_reset_pass(user):
356355
email_id= os.environ["MAIL_USERNAME"]
357-
token = user.reset_token()
356+
token = UserModel.reset_token()
358357
msg= Message("Password Reset Request",
359358
sender="{}".format(email_id),recipients=[user.email])
360359

@@ -373,7 +372,7 @@ def request_reset():
373372
return redirect(url_for('hello'),code=301)
374373
form = requestresetform()
375374
if form.validate_on_submit():
376-
req_user = user.query.filter_by(email=form.email.data).first()
375+
req_user = UserModel.find_by_email(form.email.data)
377376
send_reset_pass(req_user)
378377
flash("Email has been sent with instructions to Reset Password")
379378
return redirect(url_for("hello"),code=301)
@@ -384,15 +383,15 @@ def request_reset():
384383
def token_reset(token):
385384
if current_user.is_authenticated:
386385
return redirect(url_for('hello'),code=302)
387-
user_req = user.verify_token(token)
386+
user_req = UserModel.verify_token(token)
388387
if user_req is None:
389388
flash("Token is Invalid or Expired","warning")
390389
return redirect(url_for('request_reset'),code=307)
391390
form = resetpassword()
392391
if form.validate_on_submit():
393392
hashed = bcrypt.generate_password_hash(form.password.data).decode('utf-8')
394393
user_req.password = hashed
395-
db.session.commit()
394+
user_req.add_to_database()
396395
flash(f'Password Updated ','success')
397396
return redirect(url_for('login'),code=302)
398397
return render_template("reset_password.html",title="Reset Password",form=form)

resume/site.db

-40 KB
Binary file not shown.

venv/bin/activate

Lines changed: 0 additions & 84 deletions
This file was deleted.

venv/bin/activate.csh

Lines changed: 0 additions & 55 deletions
This file was deleted.

0 commit comments

Comments
 (0)