diff --git a/files/assets/js/submit_emojis.js b/files/assets/js/submit_emojis.js
index 2bf3a7ab5..a0bf0fc78 100644
--- a/files/assets/js/submit_emojis.js
+++ b/files/assets/js/submit_emojis.js
@@ -1,4 +1,4 @@
-function approve_marsey(t, name) {
+function remove_emoji(t, name) {
postToast(t, `/admin/approve/emoji/${name}`,
{
"tags": document.getElementById(`${name}-tags`).value,
@@ -11,7 +11,7 @@ function approve_marsey(t, name) {
);
}
-function remove_marsey(t, name) {
+function remove_emoji(t, name) {
postToast(t, `/remove/emoji/${name}`,
{
},
diff --git a/files/helpers/config/modaction_types.py b/files/helpers/config/modaction_types.py
index 238b67052..ede88a1f5 100644
--- a/files/helpers/config/modaction_types.py
+++ b/files/helpers/config/modaction_types.py
@@ -376,8 +376,8 @@ MODACTION_TYPES = {
"icon": 'fa-hat-cowboy',
"color": 'bg-success'
},
- 'update_marsey': {
- "str": 'updated marsey',
+ 'update_emoji': {
+ "str": 'updated emoji',
"icon": 'fa-cat',
"color": 'bg-success'
},
@@ -391,13 +391,13 @@ MODACTION_TYPES = {
"icon": 'fa-hat-cowboy',
"color": 'bg-danger'
},
- 'approve_marsey': {
- "str": 'approved marsey',
+ 'approve_emoji': {
+ "str": 'approved emoji',
"icon": 'fa-cat',
"color": 'bg-success'
},
- 'reject_marsey': {
- "str": 'rejected marsey',
+ 'reject_emoji': {
+ "str": 'rejected emoji',
"icon": 'fa-cat',
"color": 'bg-danger'
},
diff --git a/files/helpers/regex.py b/files/helpers/regex.py
index 42ff6dd4b..ab431853d 100644
--- a/files/helpers/regex.py
+++ b/files/helpers/regex.py
@@ -19,7 +19,7 @@ marseyaward_body_regex = re.compile(">[^<\s+]|[^>\s+]<", flags=re.A)
marseyaward_title_regex = re.compile("( *]+>)+", flags=re.A)
-marsey_regex = re.compile("[a-z0-9]{1,30}", flags=re.A)
+emoji_name_regex = re.compile("[a-z0-9]{1,30}", flags=re.A)
tags_regex = re.compile("[a-z0-9: ]{1,200}", flags=re.A)
hat_regex = re.compile("[a-zA-Z0-9\-() ,_]{1,50}", flags=re.A)
description_regex = re.compile("[^<>&\n\t]{1,300}", flags=re.A)
diff --git a/files/routes/asset_submissions.py b/files/routes/asset_submissions.py
index 2d1cadfff..e23667f70 100644
--- a/files/routes/asset_submissions.py
+++ b/files/routes/asset_submissions.py
@@ -38,7 +38,7 @@ def submit_emojis(v:User):
@limiter.limit(DEFAULT_RATELIMIT)
@limiter.limit(DEFAULT_RATELIMIT, key_func=get_ID)
@auth_required
-def submit_marsey(v:User):
+def submit_emoji(v:User):
file = request.files["image"]
name = request.values.get('name', '').lower().strip()
tags = request.values.get('tags', '').lower().strip()
@@ -57,7 +57,7 @@ def submit_marsey(v:User):
if not file or not file.content_type.startswith('image/'):
return error("You need to submit an image!")
- if not marsey_regex.fullmatch(name):
+ if not emoji_name_regex.fullmatch(name):
return error("Invalid name!")
existing = g.db.query(Emoji.name).filter_by(name=name).one_or_none()
@@ -78,8 +78,8 @@ def submit_marsey(v:User):
copyfile(highquality, filename)
process_image(filename, v, resize=200, trim=True)
- marsey = Emoji(name=name, kind=kind, author_id=author.id, tags=tags, count=0, submitter_id=v.id)
- g.db.add(marsey)
+ emoji = Emoji(name=name, kind=kind, author_id=author.id, tags=tags, count=0, submitter_id=v.id)
+ g.db.add(emoji)
return redirect(f"/submit/emojis?msg='{name}' submitted successfully!")
@@ -101,8 +101,8 @@ def verify_permissions_and_get_asset(cls, asset_type:str, v:User, name:str, make
@limiter.limit(DEFAULT_RATELIMIT)
@limiter.limit(DEFAULT_RATELIMIT, key_func=get_ID)
@admin_level_required(PERMS['MODERATE_PENDING_SUBMITTED_ASSETS'])
-def approve_marsey(v, name):
- marsey = verify_permissions_and_get_asset(Emoji, "marsey", v, name, True)
+def approve_emoji(v, name):
+ emoji = verify_permissions_and_get_asset(Emoji, "emoji", v, name, True)
tags = request.values.get('tags').lower().strip()
if not tags:
abort(400, "You need to include tags!")
@@ -115,7 +115,7 @@ def approve_marsey(v, name):
if not new_kind:
abort(400, "You need to include kind!")
- if not marsey_regex.fullmatch(new_name):
+ if not emoji_name_regex.fullmatch(new_name):
abort(400, "Invalid name!")
if not tags_regex.fullmatch(tags):
@@ -125,12 +125,12 @@ def approve_marsey(v, name):
abort(400, "Invalid kind!")
- marsey.name = new_name
- marsey.kind = new_kind
- marsey.tags = tags
- g.db.add(marsey)
+ emoji.name = new_name
+ emoji.kind = new_kind
+ emoji.tags = tags
+ g.db.add(emoji)
- author = get_account(marsey.author_id)
+ author = get_account(emoji.author_id)
all_by_author = g.db.query(Emoji).filter_by(author_id=author.id).count()
if all_by_author >= 99:
@@ -140,12 +140,12 @@ def approve_marsey(v, name):
else:
badge_grant(badge_id=17, user=author)
- if marsey.kind == "Marsey":
+ if emoji.kind == "Marsey":
cache.delete(MARSEYS_CACHE_KEY)
- purge_files_in_cache([f"https://{SITE}/e/{marsey.name}/webp", f"https://{SITE}/emojis.csv"])
+ purge_files_in_cache([f"https://{SITE}/e/{emoji.name}/webp", f"https://{SITE}/emojis.csv"])
- move(f"/asset_submissions/marseys/{name}.webp", f"files/assets/images/emojis/{marsey.name}.webp")
+ move(f"/asset_submissions/marseys/{name}.webp", f"files/assets/images/emojis/{emoji.name}.webp")
highquality = f"/asset_submissions/marseys/{name}"
with Image.open(highquality) as i:
@@ -156,23 +156,23 @@ def approve_marsey(v, name):
g.db.add(author)
if v.id != author.id:
- msg = f"@{v.username} (a site admin) has approved an emoji you made: :{marsey.name}:\n\nYou have received 250 coins as a reward!"
+ msg = f"@{v.username} (a site admin) has approved an emoji you made: :{emoji.name}:\n\nYou have received 250 coins as a reward!"
send_repeatable_notification(author.id, msg)
- if v.id != marsey.submitter_id and author.id != marsey.submitter_id:
- msg = f"@{v.username} (a site admin) has approved an emoji you submitted: :{marsey.name}:"
- send_repeatable_notification(marsey.submitter_id, msg)
+ if v.id != emoji.submitter_id and author.id != emoji.submitter_id:
+ msg = f"@{v.username} (a site admin) has approved an emoji you submitted: :{emoji.name}:"
+ send_repeatable_notification(emoji.submitter_id, msg)
- marsey.submitter_id = None
+ emoji.submitter_id = None
ma = ModAction(
- kind="approve_marsey",
+ kind="approve_emoji",
user_id=v.id,
_note=f''
)
g.db.add(ma)
- return {"message": f"'{marsey.name}' approved!"}
+ return {"message": f"'{emoji.name}' approved!"}
def remove_asset(cls, type_name:str, v:User, name:str) -> dict[str, str]:
if cls not in ASSET_TYPES: raise Exception("not a valid asset type")
@@ -214,8 +214,8 @@ def remove_asset(cls, type_name:str, v:User, name:str) -> dict[str, str]:
@limiter.limit(DEFAULT_RATELIMIT)
@limiter.limit(DEFAULT_RATELIMIT, key_func=get_ID)
@auth_required
-def remove_marsey(v:User, name):
- return remove_asset(Emoji, "marsey", v, name)
+def remove_emoji(v:User, name):
+ return remove_asset(Emoji, "emoji", v, name)
@app.get("/submit/hats")
@limiter.limit(DEFAULT_RATELIMIT)
@@ -368,14 +368,14 @@ def remove_hat(v:User, name):
@limiter.limit(DEFAULT_RATELIMIT)
@limiter.limit(DEFAULT_RATELIMIT, key_func=get_ID)
@admin_level_required(PERMS['UPDATE_ASSETS'])
-def update_marseys(v):
+def update_emojis(v):
name = request.values.get('name')
tags = None
error = None
if name:
- marsey = g.db.get(Emoji, name)
- if marsey:
- tags = marsey.tags or ''
+ emoji = g.db.get(Emoji, name)
+ if emoji:
+ tags = emoji.tags or ''
else:
name = ''
tags = ''
@@ -388,7 +388,7 @@ def update_marseys(v):
@limiter.limit(DEFAULT_RATELIMIT)
@limiter.limit(DEFAULT_RATELIMIT, key_func=get_ID)
@admin_level_required(PERMS['UPDATE_ASSETS'])
-def update_marsey(v):
+def update_emoji(v):
file = request.files["image"]
name = request.values.get('name', '').lower().strip()
tags = request.values.get('tags', '').lower().strip()
@@ -437,7 +437,7 @@ def update_marsey(v):
return error("You need to actually update something!")
ma = ModAction(
- kind="update_marsey",
+ kind="update_emoji",
user_id=v.id,
_note=f''
)
diff --git a/migrations/20230318-expand-emoji-submission-form.sql b/migrations/20230318-expand-emoji-submission-form.sql
index 2bd3530eb..9edcc2849 100644
--- a/migrations/20230318-expand-emoji-submission-form.sql
+++ b/migrations/20230318-expand-emoji-submission-form.sql
@@ -1,3 +1,5 @@
+update modactions set kind=replace(kind, 'marsey', 'emoji') where kind like '%marsey%';
+
alter table marseys rename to emojis;
alter table emojis add column kind varchar(15) not null default 'Marsey';