Пример #1
0
def sbsubmitoriginal():
    data = request.form
    task = Task.getTask(data["prefix"])
    user = User.getUser(session["userid"])
    original = task.getOriginal(data["id"])

    try:
        if request.files["file"].filename[-3:] == "csv":
            csv = request.files["file"].stream
            original.loadcsv(
                user,
                csv,
                original.getNextnth(user),
                datetime.strptime(data["duration_start"], "%a %b %d %Y").date(),
                datetime.strptime(data["duration_end"], "%a %b %d %Y").date(),
            )
        elif request.files["file"].filename[-4:] == "xlsx":
            xlsx = request.files["file"].stream
            original.loadxlsx(
                user,
                xlsx,
                original.getNextnth(user),
                datetime.strptime(data["duration_start"], "%a %b %d %Y").date(),
                datetime.strptime(data["duration_end"], "%a %b %d %Y").date(),
            )

        else:
            return jsonify({"code": "err", "msg": "Wrong extension"})
    except:
        return jsonify({"code": "err", "msg": "Wrong extension"})

    return jsonify({"code": "success"})
Пример #2
0
	def parsecsv(self):
		csvread = io.StringIO(self.file.decode("utf8"))
		reader = csv.reader(utf_8_encoder(csvread), delimiter=',', quotechar="'")
		parsedlist = list()
		for row in reader:
			tsmodel = self.taskclass(User.getUser(self.submitterid).name, self.id)
			for (column, data) in zip(filter(lambda x: x.name[:3] == u"sch", inspect(self.taskclass).columns ), row):

				if type(column.type) == INTEGER:
					try :
						setattr(tsmodel,column.name, int(data))
					except :
						setattr(tsmodel,column.name, None)

				elif type(column.type) == DATETIME:
					try :
						setattr(tsmodel,column.name, datetime.strptime( data, "%Y-%m-%d %H:%M"))
					except :
						setattr(tsmodel,column.name, None)
	
				else :
					setattr(tsmodel,column.name, data)
			parsedlist.append(tsmodel)

		return parsedlist
Пример #3
0
def sbparsedlist():
    data = request.get_json()
    task = Task.getTask(data["prefix"])
    user = User.getUser(session["userid"])
    parsedlist = task.getParsedBySubmitter(user)
    if task:
        return jsonify({"code": "success", "parsedlist": map(lambda x: x.dict(), parsedlist)})
    else:
        return jsonify({"code": "err", "msg": "No task"})
Пример #4
0
def usedit():
	data = request.get_json()
	user = User.getUser(session["userid"])

	if "password" in data :
		user.editInfo(name = data["name"],password = data["password"], gender= data["gender"], address= data["address"], birth= data["birth"], cellphone= data["cellphone"])
	else :
		user.editInfo(name = data["name"],password =  "", gender= data["gender"], address= data["address"], birth= data["birth"], cellphone= data["cellphone"])
	return jsonify({"code" : "success"})
Пример #5
0
	def dict(self):

		return {
			"id" : self.id,
			"nth" : self.nth,
			"tuplenum" : self.tuplenum,
			"duplicatetuplenum" : self.duplicatetuplenum,
			"duration_start" : self.duration_start.isoformat(),
			"duration_end" : self.duration_end.isoformat(),
			"status" : self.status,
			"score" : self.score,
			"pnp" : self.pnp,
			"submitter" : User.getUser(self.submitterid).name,
			"original" : self.original.name,
			"evaluator": User.getUser(self.evaluatorid).name,
			"nullratio" : self.nullInfo()

		}
Пример #6
0
def sboriginal():
    data = request.get_json()
    task = Task.getTask(data["prefix"])
    user = User.getUser(session["userid"])
    original = task.getOriginal(data["id"])

    if task:
        json = original.getInfoByUser(user)
        return jsonify({"code": "success", "original": json})
    else:
        return jsonify({"code": "err", "msg": "No task"})
Пример #7
0
def index():
    if "logged_in" in session and session["logged_in"]:
        user = User.getUser(session["userid"])
        if user.role == u"관리자":
            return render_template("admin.html")

        elif user.role == u"제출자":
            return render_template("submitter.html")
        elif user.role == u"평가자":
            return render_template("evaluator.html")

    return render_template("home.html")
Пример #8
0
def evsubmitevaluate():
    data = request.get_json()
    task = Task.getTask(data["prefix"])

    parsed = task.getParsed(data["id"])

    if data["pass"]:
        parsed.evaluate(data["score"], "Pass")
        user = User.getUser(parsed.submitterid).setScore()
        parsed.insertcsv()
    else:
        parsed.evaluate(data["score"], "Nonpass")

    return jsonify({"code": "success"})
Пример #9
0
def sbapply():
    data = request.get_json()
    task = Task.getTask(data["prefix"])
    user = User.getUser(session["userid"])

    if task:
        task.addUser(user)
        json = task.dict()
        json["originals"] = map(lambda x: x.dict(), task.getOriginals())
        json["originalnum"] = len(json["originals"])
        json["enrolled"] = task.checkUser(session["userid"])
        return jsonify({"code": "success", "task": json})
    else:
        return jsonify({"code": "err", "msg": "No task"})
Пример #10
0
def sbtask():
    data = request.get_json()
    task = Task.getTask(data["prefix"])
    user = User.getUser(session["userid"])
    if task:
        json = task.dict()

        status = task.checkUserStatus(session["userid"])
        if task.status == "Stop":
            status = "Stop"
        json["originals"] = map(lambda x: x.dict(), task.getOriginals())
        json["originalnum"] = len(json["originals"])
        json["enrolled"] = task.checkUser(session["userid"])
        json["status"] = status
        json["parsednum"] = task.getParsedNumBySubmitter(user)
        json["submitok"] = status == "Approved"
        return jsonify({"code": "success", "task": json})
    else:
        return jsonify({"code": "err", "msg": "No task"})
Пример #11
0
def sbgetinfo():
    user = User.getUser(session["userid"])
    return jsonify({"user": user.getSubmitInfo()})
Пример #12
0
def sbsubmit(start=0, end=10):
    user = User.getUser(session["userid"])

    return jsonify({"tasks": user.enrollStatus()})
Пример #13
0
def usdelete():

	user = User.getUser(session["userid"])
	User.deleteUser(user)

	return logout()
Пример #14
0
def usinfo():

	user = User.getUser(session["userid"])
	return jsonify({"code" : "success", "user" : user.dict()})
Пример #15
0
def user():

	data = request.get_json()
	user = User.getUser(data["id"])
	return jsonify({"user" : user.dict()})