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