示例#1
0
def dashboard():
    tiqets = query(sql_requests.index_tiqet, fetch="all")
    states = query(sql_requests.index_state, fetch="all")
    return render_template("dashboard/dashboard.html",
                           title="Dashboard",
                           tiqets=tiqets,
                           states=states)
示例#2
0
def delete_state(id_state):
    result = query(sql_requests.delete_key_state, {"id_state": id_state})
    result = query(sql_requests.delete_state, {"id_state": id_state})

    if result:
        status = jsonify(status="state deleted successful", state="success")
    else:
        status = jsonify(status="Database has problem.", state="danger")
    return make_response(status, 200)
示例#3
0
def delete_item(id_item):
    result = query(sql_requests.delete_item, {"id_item": id_item})
    result = query(sql_requests.delete_item_2, {"id_item": id_item})

    if result:
        status = jsonify(status="item deleted successful", state="success")
    else:
        status = jsonify(status="Database has problem.", state="danger")
    return make_response(status, 200)
示例#4
0
def delete_priority(id_priority):
    result = query(sql_requests.delete_key_priority, {"id_priority": id_priority})
    result = query(sql_requests.delete_priority, {"id_priority": id_priority})

    if result:
        status = jsonify(status="priority deleted successful", state="success")
    else:
        status = jsonify(status="Database has problem.", state="danger")
    return make_response(status, 200)
示例#5
0
def category(id_category):
    value = {"id_category": id_category}
    category_db = query(sql_requests.show_category, value, fetch="one")
    items = query(sql_requests.show_item_by_category, value, fetch="all")
    return render_template(
        "settings/category/category.html",
        title="Category",
        title_setting="Category",
        category=category_db,
        items=items,
    )
示例#6
0
def new():
    categories_db = query(sql_requests.index_category, fetch="all")
    priorities_db = query(sql_requests.index_priorities, fetch="all")
    users_db = query(sql_requests.index_users, fetch="all")
    return render_template(
        "new_tiqet/new_tiqet.html",
        title="Create TiQet",
        categories=categories_db,
        priorities=priorities_db,
        users=users_db,
    )
示例#7
0
def check_credential():
    data = request.get_json()

    if not "auth" in data:
        status = jsonify(
            status="need auth",
            state="danger",
        )
        return make_response(status, 400)

    auth = data["auth"]

    if not "username" in auth or not "email" in auth:
        status = jsonify(
            status="need email and username object",
            state="danger",
        )
        return make_response(status, 400)

    username = query(sql_requests.auth_check_username,
                     {"username": auth["username"]},
                     fetch="one")

    if username:
        status = jsonify(
            status="Username is alredy take.",
            username=False,
            email=False,
            state="success",
        )
        return make_response(status, 200)

    email = query(sql_requests.auth_check_email, {"email": auth["email"]},
                  fetch="one")
    if email:
        status = jsonify(
            status="Email is alredy take.",
            username=True,
            email=False,
            state="success",
        )
    else:
        status = jsonify(
            status="All ok",
            username=True,
            email=True,
            state="success",
        )

    return make_response(status, 200)
示例#8
0
def create_priority():
    data = request.get_json()

    if not "priority" in data:
        status = jsonify(status="need priority object", state="danger",)
        return make_response(status, 400)

    priority = data["priority"]

    if (
        not "name" in priority
        and not "level" in priority
        and not "description" in priority
    ):
        status = jsonify(
            status="need name, level and description object", state="danger",
        )
        return make_response(status, 400)

    values = {
        "name": priority["name"],
        "description": priority["description"],
        "level": priority["level"],
    }

    result = query(sql_requests.create_priority, values)

    if result:
        status = jsonify(status="priority create successful", state="success")
    else:
        status = jsonify(status="Database has problem.", state="danger")

    return make_response(status, 200)
示例#9
0
def edit_state(id_state):
    data = request.get_json()

    if not "state" in data:
        status = jsonify(status="need state object", state="danger",)
        return make_response(status, 400)

    state = data["state"]

    if not "name" in state and not "display" in state:
        status = jsonify(status="need name and display value", state="danger",)
        return make_response(status, 400)

    if not id_state.isdigit():
        status = jsonify(status="url value error", state="danger",)
        return make_response(status, 400)

    values = {
        "name": state["name"],
        "display": state["display"],
        "id_state": id_state,
    }

    result = query(sql_requests.edit_state, values)

    if result:
        status = jsonify(status="state update successful", state="success")
    else:
        status = jsonify(status="Database has problem.", state="danger")

    return make_response(status, 200)
示例#10
0
def create_state():
    data = request.get_json()

    if not "state" in data:
        status = jsonify(status="need state object", state="danger",)
        return make_response(status, 400)

    state = data["state"]

    if not "name" in state:
        status = jsonify(status="need name and display value", state="danger",)
        return make_response(status, 400)

    values = {
        "name": state["name"],
        "display": True,
    }

    result = query(sql_requests.create_state, values)

    if result:
        status = jsonify(status="state create successful", state="success")
    else:
        status = jsonify(status="Database has problem.", state="danger")

    return make_response(status, 200)
示例#11
0
def create_label_mon():
    data = request.get_json()

    if not "label" in data:
        status = jsonify(
            status="need label object",
            state="danger",
        )
        return make_response(status, 400)

    label = data["label"]

    if not "name" in label and not "color" in label and not "description" in label:
        status = jsonify(
            status="need name, level and description string",
            state="danger",
        )
        return make_response(status, 400)

    values = {
        "name": label["name"],
        "description": label["description"],
        "color": label["color"],
    }

    result = query(sql_requests.create_label, values)

    if result:
        status = jsonify(status="label update successful", state="success")
    else:
        status = jsonify(status="Database has problem.", state="danger")

    return make_response(status, 200)
示例#12
0
def category_edit(id_category):
    data = request.get_json()

    if not "category" in data:
        status = jsonify(status="error syntaxe json. Need 'category'",
                         state="danger")
        return make_response(status, 400)
    category_data = data["category"]

    if not "name" in category_data or not "description" in category_data:
        status = jsonify(
            status="error syntaxe json. Category need 'name' and 'description'",
            state="danger",
        )
        return make_response(status, 400)

    values = {
        "name": category_data["name"],
        "description": category_data["description"],
        "id": id_category,
    }
    response = query(sql_requests.update_category, values)

    if response:
        status = jsonify(status="category has been updated", state="success")
        return make_response(status, 200)
    else:
        status = jsonify(status="sql server has problem", state="danger")
        return make_response(status, 201)
示例#13
0
def create_tiqet():
    title = request.form.get("tiqet-title")
    content = request.form.get("tiqet-description")
    id_item = request.form.get("tiqet-item")
    id_priority = request.form.get("tiqet-priority")
    id_user = request.form.get("tiqet-user")

    if id_user == "null":
        id_user = None

    values = {
        "title": title,
        "content": content,
        "id_item": id_item,
        "id_priority": id_priority,
        "id_assigned": id_user,
        "id_reporter": None,
        "id_state": 1,
    }
    result = query(sql_requests.create_tiqet, values)

    if result:
        flash("Tiqet create successful !", "success")
        return redirect(url_for("dashboard"))
    else:
        flash("Database server has problem.", "danger")
        return redirect(url_for("new"))
示例#14
0
def labels():
    labels_db = query(sql_requests.index_label, fetch="all")
    return render_template(
        "settings/label/labels.html",
        title="Labels",
        labels=labels_db,
        title_setting="Labels",
    )
示例#15
0
def priorities():
    priorities_db = query(sql_requests.index_priorities, fetch="all")
    return render_template(
        "settings/priority/priorities.html",
        title="Priorities",
        priorities=priorities_db,
        title_setting="Priority",
    )
示例#16
0
def categories():
    categories_db = query(sql_requests.index_category, fetch="all")
    return render_template(
        "settings/categories/categories.html",
        title="Categories index",
        title_setting="Categories",
        categories=categories_db,
    )
示例#17
0
def create_account():
    # nothing to test because all is try in front web
    username = request.form.get("auth-username")
    email = request.form.get("auth-email")
    firstname = request.form.get("auth-firstname")
    lastname = request.form.get("auth-lastname")
    password = request.form.get("auth-password")
    values = {
        "username": username,
        "email": email,
        "firstname": firstname,
        "lastname": lastname,
        "password": generate_password_hash(password),
    }
    query(sql_requests.auth_create, values)
    flash("Account create successful! Login.", "success")
    return redirect(url_for("login"))
示例#18
0
def delete_category(id_category):
    result = query(sql_requests.delete_category, {"id_category": id_category})

    if result:
        status = jsonify(status="category deleted successful", state="success")
    else:
        status = jsonify(status="Database has problem.", state="danger")
    return make_response(status, 200)
示例#19
0
def states():
    states_db = query(sql_requests.index_state, fetch="all")
    return render_template(
        "settings/state/states.html",
        title="States",
        states=states_db,
        title_setting="States",
    )
示例#20
0
def category_new():
    name = request.form.get("category_name")
    description = request.form.get("category_description")
    # todo -> meilleur verification
    values = {"name": name, "description": description}

    result = query(sql_requests.create_category, values)
    if result:
        flash("Category create successful !", "success")
    else:
        flash("Database server has problem. Try an other time.", "danger")

    return redirect(url_for("categories"))
示例#21
0
def item_edit(id_item):
    data = request.get_json()
    item_data = data["item"]
    values = {
        "name": item_data["name"],
        "description": item_data["description"],
        "id": id_item,
    }
    response = query(sql_requests.update_item, values)
    if response:
        status = jsonify(status="item has been updated", state="success")
        return make_response(status, 200)
    status = jsonify(status="sql server has problem", state="danger")
    return make_response(status, 201)
示例#22
0
def delete_labels_tiqet(id_label, id_tiqet):
    result = query(
        sql_requests.delete_tiqet_label_reation,
        {
            "id_tiqet": id_tiqet,
            "id_label": id_label
        },
    )

    if result:
        status = jsonify(status="label deleted successful", state="success")
    else:
        status = jsonify(status="Error.", state="success")

    return make_response(status, 200)
示例#23
0
def item_new():
    name = request.form.get("item-name")
    description = request.form.get("item-description")
    category_id = request.form.get("category-id")

    values = {
        "id_category": category_id,
        "name": name,
        "description": description
    }
    #  todo : catch error on front
    result = query(sql_requests.create_item, values)
    if result:
        flash("Item create successful !", "success")
    else:
        flash("Can't create item with empty value.", "danger")
    return redirect(url_for("category", id_category=category_id))
示例#24
0
def edit_label(id_label):
    print("JS SUIS LA PUTE")
    data = request.get_json()

    if not "label" in data:
        status = jsonify(
            status="need label object",
            state="danger",
        )
        return make_response(status, 400)

    label = data["label"]

    if not "name" in label and not "color" in label and not "description" in label:
        status = jsonify(
            status="need name, level and description string",
            state="danger",
        )
        return make_response(status, 400)

    if not id_label.isdigit():
        status = jsonify(
            status="url value error",
            state="danger",
        )
        return make_response(status, 400)

    values = {
        "name": label["name"],
        "description": label["description"],
        "color": label["color"],
        "id_label": id_label,
    }

    result = query(sql_requests.edit_label, values)

    if result:
        status = jsonify(status="label update successful", state="success")
    else:
        status = jsonify(status="Database has problem.", state="danger")

    return make_response(status, 200)
示例#25
0
def create_comment(id_tiqet):
    data = request.get_json()

    if not "comment" in data:
        status = jsonify(
            status="need comment object",
            state="danger",
        )
        return make_response(status, 400)

    comment = data["comment"]
    if not "content" in comment or not "user_hash" in comment:
        status = jsonify(
            status="need comment content and user_hash object",
            state="danger",
        )
        return make_response(status, 400)

    user = User()
    if not user.find_by_token(comment["user_hash"]):
        status = jsonify(
            status="invalid user hash",
            state="danger",
        )
        return make_response(status, 200)
    values = {
        "id_user": user.user["id_user"],
        "id_tiqet": id_tiqet,
        "content": comment["content"],
    }

    result = query(sql_requests.create_comment, values)

    if result:
        status = jsonify(status="comment create successful", state="success")
    else:
        status = jsonify(status="Database has problem.", state="danger")

    return make_response(status, 200)
示例#26
0
    def edit_password(self, old_password, new_password):
        """
        edit user password

        @old_password = string
        @new_password = string

        @return = boolean
        """
        print("start")
        if not new_password or not old_password or not self.user:
            print(
                "Warning -> need to have self.user, new_password and old_password"
            )
            return False
        print("check")

        if not self.check_password(old_password):
            return False
        print("generate")

        new_password_hash = generate_password_hash(new_password)
        print("query")

        result = query(
            sql_requests.auth_edit_password,
            {
                "id_user": self.user["id_user"],
                "new_password": new_password_hash
            },
        )
        print("try")

        if result:
            return True
        print("return")

        return False
示例#27
0
def tiqet(id_tiqet):
    tiqet_db = query(sql_requests.show_tiqet, {"id_tiqet": id_tiqet},
                     fetch="one")

    categories_db = query(sql_requests.index_category, fetch="all")
    states_db = query(sql_requests.index_state, fetch="all")
    priorities_db = query(sql_requests.index_priorities, fetch="all")
    users_db = query(sql_requests.index_users, fetch="all")
    labels_db = query(sql_requests.index_label, fetch="all")
    comments_db = query(sql_requests.index_comments, {"id_tiqet": id_tiqet},
                        fetch="all")
    return render_template(
        "tiqet/tiqet.html",
        tiqet=tiqet_db,
        comments=comments_db,
        states=states_db,
        priorities=priorities_db,
        users=users_db,
        categories=categories_db,
        labels=labels_db,
    )
示例#28
0
def edit_tiqet(id_tiqet):
    data = request.get_json()

    if not "tiqet" in data:
        status = jsonify(
            status="need tiqet object",
            state="danger",
        )
        return make_response(status, 400)

    tiqet = data["tiqet"]

    request_edit_tiqet = sql_requests.tiqet_edit_request(tiqet, id_tiqet)

    result = query(request_edit_tiqet, tiqet)

    if result:
        status = jsonify(status="tiqet's update successful", state="success")
    else:
        status = jsonify(status="Database server has problem !",
                         state="danger")

    return make_response(status, 201)
示例#29
0
    def find_by_username(self, username=None):
        """
        find user by his username
        !important : username need to be once time in DB

        @username = string of username
        @return = boolean
        """
        if username:
            self.username = username

        user = query(
            sql_requests.auth_login,
            {"username": self.username},
            fetch="one",
        )
        print(user)
        if not user:
            return False

        self.user = user

        return True
示例#30
0
def edit_user(id_user):
    data = request.get_json()

    # todo : check if user is really a good user

    if not "auth" in data:
        status = jsonify(
            status="need auth object",
            state="danger",
        )
        return make_response(status, 400)

    auth = data["auth"]

    if not "email" in auth:
        status = jsonify(
            status="need email object in auth",
            state="danger",
        )
        return make_response(status, 400)

    values = {
        "email": auth["email"],
        "firstname": auth["firstname"],
        "lastname": auth["lastname"],
        "id_user": id_user,
    }

    result = query(sql_requests.auth_safe_edit, values)

    if result:
        status = jsonify(status="user edit successful", state="success")
    else:
        status = jsonify(status="Database has problem.", state="danger")

    return make_response(status, 200)