added login cookie, added change pwd screen
This commit is contained in:
@@ -15,7 +15,14 @@ class User(UserMixin, db.Model):
|
||||
is_private = db.Column(db.Boolean, default=False)
|
||||
is_guest = db.Column(db.Boolean, default=False)
|
||||
|
||||
def as_dict(self):
|
||||
result = {}
|
||||
for p in ['id','name','is_admin','is_approved','is_private','is_guest']:
|
||||
result[p] = getattr(self, p)
|
||||
return result
|
||||
|
||||
def set_password(self, password):
|
||||
print(f"u:{self.name} > {password}")
|
||||
self.password_hash = generate_password_hash(password)
|
||||
|
||||
def check_password(self, password):
|
||||
@@ -34,11 +41,18 @@ class User(UserMixin, db.Model):
|
||||
result.append(l)
|
||||
return result
|
||||
|
||||
def all_my_lists_as_dict(self):
|
||||
result = []
|
||||
for l in self.all_my_lists():
|
||||
result.append(l.as_dict())
|
||||
return result
|
||||
|
||||
def shares_in_list(self, listofitem_id):
|
||||
shared = Shared.query.filter_by(user_id=self.id, listofitem_id=listofitem_id).first()
|
||||
return True if shared else False
|
||||
|
||||
|
||||
|
||||
class ListOfItems(db.Model):
|
||||
id = db.Column(db.Integer, primary_key=True)
|
||||
updated_at = db.Column(db.TIMESTAMP, default=datetime.now(), onupdate=datetime.now(), nullable=False)
|
||||
@@ -46,6 +60,15 @@ class ListOfItems(db.Model):
|
||||
name = db.Column(db.String(40), unique=True, nullable=False)
|
||||
is_active = db.Column(db.Boolean, default=False)
|
||||
|
||||
def as_dict(self):
|
||||
result = {}
|
||||
for p in ['id','name','owner_user_id','is_active']:
|
||||
result[p] = getattr(self, p)
|
||||
result["pending"] = self.items_left()
|
||||
result["total"] = self.items_total()
|
||||
print(result)
|
||||
return result
|
||||
|
||||
def items_left(self):
|
||||
return len(Item.query.filter_by(listofitems_id=self.id, is_checked=False, is_suggestion=False).all())
|
||||
|
||||
@@ -65,6 +88,12 @@ class Item(db.Model):
|
||||
is_suggestion = db.Column(db.Boolean, default=False)
|
||||
category = db.Column(db.String(20))
|
||||
|
||||
def as_dict(self):
|
||||
result = {}
|
||||
for p in ['id','listofitems_id','label','quantity','unit','is_checked', 'is_suggestion', 'category']:
|
||||
result[p] = getattr(self, p)
|
||||
return result
|
||||
|
||||
class Shared(db.Model):
|
||||
user_id = db.Column(db.Integer, primary_key=True)
|
||||
listofitem_id = db.Column(db.Integer, primary_key=True)
|
||||
|
||||
Reference in New Issue
Block a user