Skip to content
Snippets Groups Projects
Commit d51bcaa3 authored by erichard's avatar erichard
Browse files

UserOption : implement UserOption

Set UserOption variable to true to get username related to element
by ELEMENT.user_id.
parent bf65c644
No related branches found
No related tags found
1 merge request!69User option
import os
from typing import Dict, List
from .request_db import send_query_to_db
from . import bp
if(os.environ["UserOption"]=="true"):
from .sqlStmtOptUser import queries, FORBIDEN_LABEL_ONLY, ALL_LABEL_TYPE
else:
from .sqlStmt import queries, FORBIDEN_LABEL_ONLY, ALL_LABEL_TYPE
def get_selected_elements(id_mandatory_labels: int, id_forbiden_labels: str, number_of_mandatory_labels: str) -> List[Dict[int, str]] :
"""
......@@ -24,53 +32,9 @@ def get_selected_elements(id_mandatory_labels: int, id_forbiden_labels: str, num
"""
#query slightly vary if number_of_mandatory_labels > 0 or not
if(number_of_mandatory_labels):
query = '''
SELECT
ELEMENT.*
FROM
ELEMENT
INNER JOIN
ELEMENT_LABEL
ON ELEMENT.id=ELEMENT_LABEL.id_element
WHERE
id_label IN ({})
AND
id_element NOT IN (
SELECT
id_element
FROM
ELEMENT
INNER JOIN
ELEMENT_LABEL
ON ELEMENT.id=ELEMENT_LABEL.id_element
WHERE
id_label IN ({}))
GROUP BY id_element
HAVING COUNT(*) = {}
Order BY element_name
'''.format(id_mandatory_labels, id_forbiden_labels, number_of_mandatory_labels)
query = queries[ALL_LABEL_TYPE].format(id_mandatory_labels, id_forbiden_labels, number_of_mandatory_labels)
else:
query = '''
SELECT
ELEMENT.*
FROM
ELEMENT
INNER JOIN
ELEMENT_LABEL
ON ELEMENT.id = ELEMENT_LABEL.id_element
WHERE
id_element NOT IN (
SELECT
id_element
FROM
ELEMENT
INNER JOIN
ELEMENT_LABEL
ON ELEMENT.id = ELEMENT_LABEL.id_element
WHERE id_label IN ({}) )
GROUP BY ELEMENT.id
ORDER BY element_name ASC
'''.format(id_forbiden_labels)
query = queries[FORBIDEN_LABEL_ONLY].format(id_forbiden_labels)
selected_elements = send_query_to_db(query)
return selected_elements
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment