From 41e6cb9d0511057b1ac6df20c8099b5d252ff47a Mon Sep 17 00:00:00 2001 From: Jadowyne Ulve Date: Sat, 9 Aug 2025 19:39:08 -0500 Subject: [PATCH] Removed uuid and added item_uuid to table schema --- __pycache__/config.cpython-313.pyc | Bin 3544 -> 3569 bytes .../__pycache__/access_api.cpython-313.pyc | Bin 8631 -> 8651 bytes application/access_module/access_api.py | 4 +++- .../access_module/templates/login.html | 10 ++++++++-- .../sql/CREATE/recipe_items.sql | 3 +-- .../__pycache__/recipes_api.cpython-313.pyc | Bin 13806 -> 13810 bytes application/recipes/recipes_api.py | 2 +- application/recipes/sql/postRecipeItem.sql | 2 +- .../recipes/static/js/recipeEditHandler.js | 2 +- config.py | 4 +--- database.ini | 1 + 11 files changed, 17 insertions(+), 11 deletions(-) diff --git a/__pycache__/config.cpython-313.pyc b/__pycache__/config.cpython-313.pyc index 78875ec4bf0442f7a5abf9e77ea1784fa326a3a3..fa2a8523d0ce5bfe0e23c8a27cf978b67a55b2a6 100644 GIT binary patch delta 397 zcmca1{ZX3tGcPX}0}%XvG(E#>Bky}ArY^?G_H5!4*Q-yqVb*0dnZ&3p%o@rn%-|uz zz>vol$`;JT3RFM2ky~u?8D@E2Zjf#e2xbl9ogBlc#uCaD#6LNaTX?c5ix?w>70)6J z7nWoT<}_u3=m}*G=2QnVLzz_=G`S}Cu~_Qe63fghNiE7t%!$v*PtVMYPt8kA%1KSp zrrPT2KVEW%6Fmd{#rCDJGi@xonxlbwQ@8fCyC}p~+ID z2VxscZspNrH32f6CvWCC9|qD;1mdn_C=vm&g@D8@4x8Nkl+v73yCO>yrBpW=|4ypLI&mlvXjfgzYRh<|bnqZ&&nQ;^`~1QyZB ziYy|G5SBNKpbV19%t$6Pt1xJCPVQl`WCBw6S;SZiiZb&`CVyrrXFNPPo7I{94hL^X zS`Y8!b*wquU)UH}xjOW(ut?q5Y{Hhq$f&=0A-f(EYmpSlN!K{@Sq*>;v&~*ywoKwW zKxUB&h)@L*nk+@SAh!PGc|4k|#z3a)%``j3%EEQ%n+NKFlZJX2*0`PSs79^$0Tu zkbO*-%gvhem^m|uZN=yz%6!Zk%(j#A5Mn(pq2|HMdfbi?#I|Pv%AVk51+q^FF@xBm zTplXyRb2WhiNzU7`H4j-lP9u?O->cx%vu9`xS25>mQ!_8Wj(^o0c0Oj<#IFTJf_bKVjD4f@G>7W2D8ni zJh)ho3#fUpvK}{M1hLIofU+l8S%K^mT+ARgFPDeRWN-0nthGSvOE#-X%x7jTN(Qnw zUzLt!tWN{7iqb(u28hT65m_K28$@t}h#U}+3nKDBL_UZp1QA6bq8LP!00~XbqEZms z5=4Z62xAaY1|rHqLp%C`{fcE5%r~`HZYE6C2n8Ig_8tcd&titEhHz bvBD2QWyToB&&&)=rXQF<%nx3ZYZUzfo#=KR diff --git a/application/access_module/access_api.py b/application/access_module/access_api.py index 4d65a27..7fa07db 100644 --- a/application/access_module/access_api.py +++ b/application/access_module/access_api.py @@ -110,8 +110,10 @@ def login(): if 'user' not in session.keys(): session['user'] = None + + print(instance_config) - return render_template("login.html", sign_up_enabled=instance_config['signup_enabled']) + return render_template("login.html", instance_settings=instance_config) @access_api.route('/dashboard') def dashboard(): diff --git a/application/access_module/templates/login.html b/application/access_module/templates/login.html index 7c3c246..1a5d763 100644 --- a/application/access_module/templates/login.html +++ b/application/access_module/templates/login.html @@ -30,12 +30,13 @@
  • Login
  • - {% if signup_enabled %} + {% if instance_settings['signup_enabled'] %}
  • Sign Up
  • {% endif %}
+ {% if instance_settings['internal_login_enabled'] %}
@@ -56,11 +57,16 @@ Login

OR

+ {% else %} +

This instance only allows external logins through their configured authenticator. If you need to use your interal + login you will need to contact your system admin. +

+ {% endif %}
- {% if signup_enabled %} + {% if instance_settings['signup_enabled'] %}
diff --git a/application/administration/sql/CREATE/recipe_items.sql b/application/administration/sql/CREATE/recipe_items.sql index 1a5f49d..5261db4 100644 --- a/application/administration/sql/CREATE/recipe_items.sql +++ b/application/administration/sql/CREATE/recipe_items.sql @@ -1,6 +1,6 @@ CREATE TABLE IF NOT EXISTS %%site_name%%_recipe_items ( id SERIAL PRIMARY KEY, - uuid VARCHAR(32) NOT NULL, + item_uuid UUID, rp_id INTEGER NOT NULL, item_type VARCHAR(32) NOT NULL, item_name TEXT NOT NULL, @@ -8,7 +8,6 @@ CREATE TABLE IF NOT EXISTS %%site_name%%_recipe_items ( qty FLOAT8 NOT NULL, item_id INTEGER DEFAULT NULL, links JSONB DEFAULT '{"main": ""}', - UNIQUE(uuid), CONSTRAINT fk_rp_id FOREIGN KEY(rp_id) REFERENCES %%site_name%%_recipes(id) diff --git a/application/recipes/__pycache__/recipes_api.cpython-313.pyc b/application/recipes/__pycache__/recipes_api.cpython-313.pyc index 932a1a2e96e299ad8a487c0505db8215701bde71..b1810c3eeab7626447bec7b66061df9e2c48ad06 100644 GIT binary patch delta 81 zcmaEt{VALGGcPX}0}zNmou1*okvB|_RaifLU{;V;19QW(Fo{5MlF?1;j7X1eyT=9)A}B delta 50 zcmeyA{VtpLGcPX}0}z;>oSxylkvB|_k$-cBUNrmUT_$3aZ<_M*SbSvRWXxhL(gZ33 E0H@Fnr~m)} diff --git a/application/recipes/recipes_api.py b/application/recipes/recipes_api.py index 6846454..e1ee10e 100644 --- a/application/recipes/recipes_api.py +++ b/application/recipes/recipes_api.py @@ -177,7 +177,7 @@ def deleteRecipeItem(): return jsonify({'recipe': recipe, 'error': False, 'message': f'Recipe Item {deleted_item['item_name']} was deleted successful!'}) return jsonify({'recipe': recipe, 'error': True, 'message': f'method {request.method} is not allowed!'}) -@recipes_api.route('/saveRecipeItem', methods=["POST"]) +@recipes_api.route('/api/saveRecipeItem', methods=["POST"]) @access_api.login_required def saveRecipeItem(): recipe = {} diff --git a/application/recipes/sql/postRecipeItem.sql b/application/recipes/sql/postRecipeItem.sql index 1d9d919..355bcee 100644 --- a/application/recipes/sql/postRecipeItem.sql +++ b/application/recipes/sql/postRecipeItem.sql @@ -1,4 +1,4 @@ INSERT INTO %%site_name%%_recipe_items -(uuid, rp_id, item_type, item_name, uom, qty, item_id, links) +(item_uuid, rp_id, item_type, item_name, uom, qty, item_id, links) VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING *; \ No newline at end of file diff --git a/application/recipes/static/js/recipeEditHandler.js b/application/recipes/static/js/recipeEditHandler.js index 32fc161..cae1efb 100644 --- a/application/recipes/static/js/recipeEditHandler.js +++ b/application/recipes/static/js/recipeEditHandler.js @@ -148,7 +148,7 @@ async function saveLineItem(item){ uom: document.getElementById('lineUOM').value, links: item.links } - const response = await fetch(`/recipe/saveRecipeItem`, { + const response = await fetch(`/recipes/api/saveRecipeItem`, { method: 'POST', headers: { 'Content-Type': 'application/json', diff --git a/config.py b/config.py index b883f0a..ad32bfb 100644 --- a/config.py +++ b/config.py @@ -31,7 +31,6 @@ def sites_config(filename='database.ini', section='manage'): first_setup = False if parser.has_section(section): params = parser.items(section) - print(params) for param in params: instance_config[param[0]] = param[1].split(',') else: @@ -39,9 +38,8 @@ def sites_config(filename='database.ini', section='manage'): instance_config['first_setup'] = parser.getboolean('manage', 'first_setup') instance_config['signup_enabled'] = parser.getboolean('manage', 'signup_enabled') + instance_config['internal_login_enabled'] = parser.getboolean('manage', 'internal_login_enabled') - - print(instance_config) return instance_config def setFirstSetupDone(): diff --git a/database.ini b/database.ini index 0bd10ee..58090a8 100644 --- a/database.ini +++ b/database.ini @@ -9,4 +9,5 @@ port = 5432 sites = first_setup = False signup_enabled = False +internal_login_enabled = True