Exemple #1
0
def add_job():
	sess = DbSession().get_session()
	user = get_user(sess, session["username"])
	post = request.form
	quantity = extract_field(post, 'qty_adj', 1)
	for job_num in range(quantity):
		new_job = Job()
		new_job.OwnerId = user.Id

		if not new_job.populate(post):
			return jsonify({"status":0, "error":"Double check fields. Integers only please."}) 
		if job_num > 0:
			new_job.Name += " %d" % (job_num+1)

		if job_num == 0:
			if user.GoldPool < (new_job.GoldCost*quantity):
				return jsonify({"status":0, "error":"Insufficient Gold. Gold remaining: %d. Needed: %d." % (user.GoldPool, new_job.GoldCost*quantity)}) 
			if user.XpPool < (new_job.XpCost*quantity):
				return jsonify({"status":0, "error":"Insufficient Experience. Experience remaining: %d. Needed: %d." % (user.XpPool, new_job.XpCost*quantity)}) 

		user.GoldPool -= new_job.GoldCost
		user.XpPool -= new_job.XpCost

		sess.add(new_job)
	sess.commit()

	session["next_tab"] = 2
	return jsonify({"status":1})
	def populate(self, j_dict):
		try:
			self.Name = j_dict["name"]
			self.set_base_price(j_dict["base_price"])
			#base_price = int(j_dict["base_price"])
			#self.Priority = 1

			if extract_field(j_dict, "mage_armor"):
				self.apply_mage_armor()
			self.GoldCost *= extract_field(j_dict, 'gp_multi', default=1.0)
			self.Notes = extract_field(j_dict, 'notes', default="")
			self.Priority = extract_field(j_dict, 'priority', default=1)
			self.XpCost += extract_field(j_dict, 'exp_adjust', default=0)
			self.GoldCost += extract_field(j_dict, 'gold_adjust', default=0)

			#if "mage_armor" in j_dict and int(j_dict["mage_armor"]):
			#	self.XpCost /= 2.0
			#if "gp_multi" in j_dict:
			#	self.GoldCost *= float(j_dict["gp_multi"])
			#if "notes" in j_dict:
			#	self.Notes = j_dict["notes"]
			#if "priority" in j_dict and j_dict["priority"] != "":
			#	self.Priority = int(j_dict["priority"])
			#if "exp_adjust" in j_dict and j_dict["exp_adjust"] != "":
			#	self.XpCost += int(j_dict["exp_adjust"])
			#if "gold_adjust" in j_dict and j_dict["gold_adjust"] != "":
			#	self.GoldCost = max(0, self.GoldCost + int(j_dict["gold_adjust"]))
			#if "qty_adj" in j_dict and j_dict["qty_adj"] == "":
			#	job_quantity = int(j_dict["qty_adj"])
		except ValueError:
			return False
		return True