diff --git a/partitioncloud/modules/albums.py b/partitioncloud/modules/albums.py index 1aa9252..486c92f 100644 --- a/partitioncloud/modules/albums.py +++ b/partitioncloud/modules/albums.py @@ -279,10 +279,10 @@ def add_partition(album_uuid): db.execute( """ - INSERT INTO partition (uuid, name, author, body) - VALUES (?, ?, ?, ?) + INSERT INTO partition (uuid, name, author, body, user_id) + VALUES (?, ?, ?, ?, ?) """, - (partition_uuid, request.form["name"], author, body), + (partition_uuid, request.form["name"], author, body, user.id), ) db.commit() diff --git a/partitioncloud/modules/utils.py b/partitioncloud/modules/utils.py index cc5e21e..97084d2 100644 --- a/partitioncloud/modules/utils.py +++ b/partitioncloud/modules/utils.py @@ -87,7 +87,7 @@ class User(): def get_color(self): - integer = int.from_bytes(self.username.encode(), "little") % 16777215 + integer = hash(self.username) % 16777215 return "#" + str(hex(integer))[2:] @@ -151,7 +151,7 @@ class Album(): db = get_db() return db.execute( """ - SELECT partition.uuid, partition.name, partition.author FROM partition + SELECT partition.uuid, partition.name, partition.author, partition.user_id FROM partition JOIN contient_partition ON partition_uuid = partition.uuid JOIN album ON album.id = album_id WHERE album.uuid = ? diff --git a/partitioncloud/schema.sql b/partitioncloud/schema.sql index 2cd2b2a..1fb6909 100644 --- a/partitioncloud/schema.sql +++ b/partitioncloud/schema.sql @@ -16,7 +16,8 @@ CREATE TABLE partition ( uuid TEXT(36) PRIMARY KEY, name TEXT NOT NULL, author TEXT, - body TEXT + body TEXT, + user_id INTEGER ); CREATE TABLE album ( diff --git a/partitioncloud/templates/albums/album.html b/partitioncloud/templates/albums/album.html index 4bdd840..7e8b9f1 100644 --- a/partitioncloud/templates/albums/album.html +++ b/partitioncloud/templates/albums/album.html @@ -39,6 +39,9 @@
+ {% if partition["user_id"] == g.user.id or g.user.access_level == 1 %} +
✏️
+ {% endif %}
{{ partition["name"] }}
{{ partition["author"] }}