diff --git a/__pycache__/config.cpython-313.pyc b/__pycache__/config.cpython-313.pyc index 78875ec..fa2a852 100644 Binary files a/__pycache__/config.cpython-313.pyc and b/__pycache__/config.cpython-313.pyc differ diff --git a/application/access_module/__pycache__/access_api.cpython-313.pyc b/application/access_module/__pycache__/access_api.cpython-313.pyc index eb82d78..0fea0f3 100644 Binary files a/application/access_module/__pycache__/access_api.cpython-313.pyc and b/application/access_module/__pycache__/access_api.cpython-313.pyc differ 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 @@
+ {% 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 932a1a2..b1810c3 100644 Binary files a/application/recipes/__pycache__/recipes_api.cpython-313.pyc and b/application/recipes/__pycache__/recipes_api.cpython-313.pyc differ 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