def get(self): cover_url = None # if IDENTIFIER_ITEM_PHOTO in req_json: # cover_url = req_json[IDENTIFIER_ITEM_PHOTO] item_id = uuid.uuid4() # req_json = json.loads(self.request.body) # item_name = req_json[IDENTIFIER_ITEM_NAME] item_name = self.request.get(IDENTIFIER_ITEM_NAME) # expense_name = req_json[IDENTIFIER_EXPENSE_NAME] expense_name = self.request.get(IDENTIFIER_EXPENSE_NAME) # buyer_email = req_json[IDENTIFIER_BUYER_EMAIL] buyer_email = self.request.get(IDENTIFIER_BUYER_EMAIL) # sharer_email_lst = req_json[IDENTIFIER_SHARER_LIST] sharer_emails = self.request.get(IDENTIFIER_SHARER_LIST) sharer_email_lst = sharer_emails.split(",") expense_lst = Expense.query(Expense.expense_name == expense_name) expense_id = None # total_cost = float(req_json[IDENTIFIER_TOTAL_COST]) cost = self.request.get(IDENTIFIER_TOTAL_COST) total_cost = float(cost) target_expense = None for expense in expense_lst: if buyer_email in expense.user_email_lst: expense_id = expense.expense_id target_expense = expense break if expense_id == None: response = {} response['error'] = 'the buyer email: ' + buyer_email + ' is not valid for this expense/apartment' return self.respond(**response) new_item = Item(item_id = str(item_id), item_name = item_name, cover_url = cover_url, expense_id = expense_id, buyer_email = buyer_email, sharer_email_lst = sharer_email_lst, total_cost = total_cost ) new_item.put() target_expense.item_id_lst.insert(0, str(item_id)) target_expense.put() self.respond(item_id_id = str(item_id), status="Success")
def get(self): cover_url = None # if IDENTIFIER_ITEM_PHOTO in req_json: # cover_url = req_json[IDENTIFIER_ITEM_PHOTO] item_id = uuid.uuid4() # req_json = json.loads(self.request.body) # item_name = req_json[IDENTIFIER_ITEM_NAME] item_name = self.request.get(IDENTIFIER_ITEM_NAME) # expense_name = req_json[IDENTIFIER_EXPENSE_NAME] expense_name = self.request.get(IDENTIFIER_EXPENSE_NAME) # buyer_email = req_json[IDENTIFIER_BUYER_EMAIL] buyer_email = self.request.get(IDENTIFIER_BUYER_EMAIL) # sharer_email_lst = req_json[IDENTIFIER_SHARER_LIST] sharer_emails = self.request.get(IDENTIFIER_SHARER_LIST) sharer_email_lst = sharer_emails.split(",") expense_lst = Expense.query(Expense.expense_name == expense_name) expense_id = None # total_cost = float(req_json[IDENTIFIER_TOTAL_COST]) cost = self.request.get(IDENTIFIER_TOTAL_COST) total_cost = float(cost) target_expense = None for expense in expense_lst: if buyer_email in expense.user_email_lst: expense_id = expense.expense_id target_expense = expense break if expense_id == None: response = {} response[ 'error'] = 'the buyer email: ' + buyer_email + ' is not valid for this expense/apartment' return self.respond(**response) new_item = Item(item_id=str(item_id), item_name=item_name, cover_url=cover_url, expense_id=expense_id, buyer_email=buyer_email, sharer_email_lst=sharer_email_lst, total_cost=total_cost) new_item.put() target_expense.item_id_lst.insert(0, str(item_id)) target_expense.put() self.respond(item_id_id=str(item_id), status="Success")
def get(self): print("get finish task request") task_id = self.request.get(IDENTIFIER_TASK_ID) total_cost = self.request.get(IDENTIFIER_TOTAL_COST) user_email = self.request.get(IDENTIFIER_USER_EMAIL) total_cost = float(total_cost) print("get cost " + str(total_cost)) tasks = Task.query(Task.task_id == task_id).fetch() task = tasks[0] print("Found the task " + task.task_name) if task.finished: response = {} response['error'] = 'the task has already been finished' return self.respond(**response) if user_email != task.charger_email: response = {} response['error'] = 'the task has been assigned to other roommate' return self.respond(**response) task.finished = True task.put() item_id = str(uuid.uuid4()) sharer_lst = task.candidate_lst # sharer_lst.remove(task.charger_email) # newly removed this line print("creating item ") new_Item = Item(item_id=item_id, cover_url=str(task.photo_blobkey), expense_id=task.expense_id, total_cost=total_cost, buyer_email=task.charger_email, sharer_email_lst=sharer_lst, item_name=task.task_name) new_Item.put() expenses = Expense.query(Expense.expense_id == task.expense_id).fetch() if len(expenses) == 0: print("cannot find the expense") else: expense = expenses[0] item_ids = expense.item_id_lst item_ids.append(item_id) expense.item_id_lst = item_ids expense.put() print("done ") self.respond(item_name=task.task_name, item_id=task.task_id, status="Success")
def get(self): print("get finish task request") task_id = self.request.get(IDENTIFIER_TASK_ID) total_cost = self.request.get(IDENTIFIER_TOTAL_COST) user_email = self.request.get(IDENTIFIER_USER_EMAIL) total_cost = float(total_cost) print("get cost " + str(total_cost)) tasks = Task.query(Task.task_id == task_id).fetch() task = tasks[0] print("Found the task " + task.task_name) if task.finished: response = {} response['error'] = 'the task has already been finished' return self.respond(**response) if user_email != task.charger_email: response = {} response['error'] = 'the task has been assigned to other roommate' return self.respond(**response) task.finished = True task.put() item_id = str(uuid.uuid4()) sharer_lst = task.candidate_lst # sharer_lst.remove(task.charger_email) # newly removed this line print("creating item ") new_Item = Item(item_id = item_id, cover_url = str(task.photo_blobkey), expense_id = task.expense_id, total_cost = total_cost, buyer_email = task.charger_email, sharer_email_lst = sharer_lst, item_name = task.task_name) new_Item.put() expenses = Expense.query(Expense.expense_id == task.expense_id).fetch() if len(expenses) == 0: print("cannot find the expense"); else: expense = expenses[0] item_ids = expense.item_id_lst item_ids.append(item_id) expense.item_id_lst = item_ids expense.put() print("done ") self.respond(item_name = task.task_name, item_id = task.task_id, status="Success")