Beispiel #1
0
def addWorklogData(user, year, dayType, days, location):
    if not dayType:
        return jsonify({"error": "No day type given"}), 400

    userYearData = utils.getUserYearData(user, year)

    if userYearData:
        return updateWorklogData(user, year, dayType, days, location,
                                 userYearData)
    else:
        return setWorklogData(user, year, dayType, days, location)
def deleteWorklogData(user, date, year, deleteUser, deleteAll, deleteYear):
    if deleteUser:
        userIsDeleted = utils.deleteUser(user)

        if userIsDeleted:
            return jsonify({"success": "Successfully deleted user"})

        return jsonify({"error": "No user deleted"}), 404

    elif deleteAll:
        utils.deleteUserData(user)

        userData = utils.getUserWorklog(user)

        if len(userData) == 0:
            return jsonify({"success": "Successfully deleted user data"})

        return jsonify({"error": "No user data deleted"}), 404

    elif deleteYear:
        if year:
            utils.deleteUserYearData(user, year)

            userData = utils.getUserYearData(user, year)

            if not userData:
                return jsonify(
                    {"success": "Successfully deleted user year data"})

        return jsonify({"error": "No user year data deleted"}), 404

    else:
        if date:
            userDateData = utils.getUserDateData(user, date)

            if userDateData:

                utils.deleteUserDateData(user, date)

                userDateData = utils.getUserDateData(user, date)

                if not userDateData:
                    return jsonify(
                        {"success": "Successfully deleted date data"})

        return jsonify({"error": "No date data removed"}), 404
Beispiel #3
0
def getWorklogData(user, year, date):

    if year:
        userData = utils.getUserYearData(user, year)

        if userData:
            return jsonify(userData)
        else:
            return jsonify({"error": "No data found"}), 404
    elif date:
        userData = utils.getUserDateData(user, date)

        if userData:
            return jsonify(userData)
        else:
            return jsonify({"error": "No data found"}), 404
    else:
        userData = utils.getUserWorklog(user)

        if userData:
            return jsonify({"years": userData})
        else:
            return jsonify({"error": "No data found"}), 404
Beispiel #4
0
def resetWorklogData(user, year, dayType, days, location, data):
    if not dayType:
        return jsonify({"error": "No day type given"}), 400

    userYearData = utils.getUserYearData(user, year)

    if userYearData:
        if dayType == "remote":
            if days > userYearData[dayType]["locations"][location] or days < 0:
                return jsonify({"error": "Invalid days given"}), 400

            updatedData = {
                dayType + ".total":
                userYearData[dayType]["total"] -
                userYearData[dayType]["locations"][location] + days,
                dayType + ".locations." + location:
                days
            }
        else:
            if days > userYearData[dayType] or days < 0:
                return jsonify({"error": "Invalid days given"}), 400

            updatedData = {dayType: days}

        if data:
            startdate = None
            lastdate = None
            if "lastdate" in data:
                try:
                    lastdate = datetime.datetime(year,
                                                 data["lastdate"]["month"],
                                                 data["lastdate"]["day"])
                except:
                    return jsonify({"error": "Invalid dates given"}), 400

            if "startdate" in data:
                try:
                    startdate = datetime.datetime(year,
                                                  data["startdate"]["month"],
                                                  data["startdate"]["day"])
                except:
                    return jsonify({"error": "Invalid dates given"}), 400

                if lastdate:
                    if (lastdate - startdate).days < 0:
                        return jsonify({"error": "Invalid dates given"}), 400
                else:
                    if (userYearData["lastdate"] - startdate).days < 0:
                        return jsonify({"error": "Invalid dates given"}), 400

            if startdate:
                updatedData["startdate"] = startdate

            if lastdate:
                updatedData["lastdate"] = lastdate

        utils.updateUserWorkLog(user, year, updatedData)

        return get_worklog_data_service.getWorklogData(user, year, dayType)

    return jsonify({"error": "No data found for year given"}), 404