def get(self): apt_name = self.request.get(IDENTIFIER_APT_NAME) user_email = self.request.get(IDENTIFIER_USER_EMAIL) apt_lst = Apartment.query(Apartment.apt_name == apt_name).fetch() cur_apt = None for apt in apt_lst: if user_email in apt.user_email_lst: cur_apt = apt if cur_apt == None: response = {} response[ 'error'] = 'the apt: ' + apt_name + ' is not available for user: ' + user_email return self.respond(**response) for expense_id in cur_apt.expense_id_lst: expense_lst = Expense.query( Expense.expense_id == expense_id).fetch() if len(expense_lst) > 0: expense = expense_lst[0] if not expense.is_paid: expense.checkout() cur_apt.total_cost += expense.total_cost cur_apt.put() self.respond(status="Success")
def get(self): apt_id = self.request.get(IDENTIFIER_APT_ID) print "getExpenseListService, apt_id="+apt_id expenses_lst = [] apt_lst = Apartment.query(Apartment.apt_id == apt_id).fetch() if len(apt_lst)!=0 : apt = apt_lst[0] expenses = apt.getAllexpenses() if len(expenses)!=0: for expense in expenses: cur_expense = {} cur_expense['expense_id'] = str(expense.expense_id) creater_email = expense.creater_email creaters = User.query(User.user_email == creater_email).fetch() creater = creaters[0] creater_nick_name = creater.nick_name cur_expense['creater_nickname'] = creater_nick_name cur_expense['photo'] = expense.cover_url cur_expense['date'] = str(expense.last_edit) cur_expense['expense_name'] = expense.expense_name cur_expense['sharer_lst'] = expense.user_email_lst cur_expense['is_paid'] = expense.is_paid cur_expense['the_number_of_items'] = len(expense.item_id_lst) cur_expense['total_cost'] = expense.total_cost # cur_expense['approval_cost'] = expense.approval_cost expenses_lst.append(cur_expense) self.respond(status="success", expenses_lst=expenses_lst)
def get(self): apt_name = self.request.get(IDENTIFIER_APT_NAME) user_email = self.request.get(IDENTIFIER_USER_EMAIL) apt_lst = Apartment.query(Apartment.apt_name == apt_name).fetch() # print "called: " + user_email + ", " + apt_name cur_apt = None for apt in apt_lst: if user_email in apt.user_email_lst: cur_apt = apt user_info_lst = [] for user_email in apt.user_email_lst: users = User.query(User.user_email == user_email).fetch() user = users[0] user_info = {} user_info['email:'] = user_email user_info['nick_name'] = user.nick_name user_info['owe'] = user.cost user_info['owed'] = user.borrow user_info['balance'] = user.owe user_info_lst.append(user_info) self.respond(user_info_lst = user_info_lst, total_cost = apt.total_cost, status="Success")
def get(self): apt_name = self.request.get(IDENTIFIER_APT_NAME) user_email = self.request.get(IDENTIFIER_USER_EMAIL) apt_lst = Apartment.query(Apartment.apt_name == apt_name).fetch() # print "called: " + user_email + ", " + apt_name cur_apt = None for apt in apt_lst: if user_email in apt.user_email_lst: cur_apt = apt cur_notebook_lst = NoteBook.query( NoteBook.notebook_id == cur_apt.notebook_id).fetch() if len(cur_notebook_lst) == 0: response = {} response[ 'error'] = 'we dont have notebook for the apt: ' + apt_name return self.respond(**response) cur_notebook = cur_notebook_lst[0] retList = [] for noteid in cur_notebook.note_id_lst: note_lst = Note.query(Note.id == noteid).fetch() cur_note = note_lst[0] ret_note = {} ret_note['author'] = cur_note.author_email ret_note['description'] = cur_note.description date = str(cur_note.date) ret_note['last_edit_date'] = date retList.append(ret_note) self.respond(AllNoteLst=retList, status="Success")
def get(self): apt_name = self.request.get(IDENTIFIER_APT_NAME) user_email = self.request.get(IDENTIFIER_USER_EMAIL) apt_lst = Apartment.query(Apartment.apt_name == apt_name).fetch() # print "called: " + user_email + ", " + apt_name cur_apt = None for apt in apt_lst: if user_email in apt.user_email_lst: cur_apt = apt cur_notebook_lst = NoteBook.query( NoteBook.notebook_id == cur_apt.notebook_id).fetch() if len(cur_notebook_lst) == 0: response = {} response['error'] = 'we dont have notebook for the apt: ' + apt_name return self.respond(**response) cur_notebook = cur_notebook_lst[0] retList = [] for noteid in cur_notebook.note_id_lst: note_lst = Note.query(Note.id == noteid).fetch() cur_note = note_lst[0] ret_note = {} ret_note['author'] = cur_note.author_email ret_note['description'] = cur_note.description date = str(cur_note.date) ret_note['last_edit_date'] = date retList.append(ret_note) self.respond(AllNoteLst = retList, status="Success")
def get(self): apt_name = self.request.get(IDENTIFIER_APT_NAME) user_email = self.request.get(IDENTIFIER_USER_EMAIL) apt_lst = Apartment.query(Apartment.apt_name == apt_name).fetch() # print "called: " + user_email + ", " + apt_name cur_apt = None for apt in apt_lst: if user_email in apt.user_email_lst: cur_apt = apt user_info_lst = [] for user_email in apt.user_email_lst: users = User.query(User.user_email == user_email).fetch() user = users[0] user_info = {} user_info['email:'] = user_email user_info['nick_name'] = user.nick_name user_info['owe'] = user.cost user_info['owed'] = user.borrow user_info['balance'] = user.owe user_info_lst.append(user_info) self.respond(user_info_lst=user_info_lst, total_cost=apt.total_cost, status="Success")
def get(self): apt_id = self.request.get(IDENTIFIER_APT_ID) print "getExpenseListService, apt_id=" + apt_id expenses_lst = [] apt_lst = Apartment.query(Apartment.apt_id == apt_id).fetch() if len(apt_lst) != 0: apt = apt_lst[0] expenses = apt.getAllexpenses() if len(expenses) != 0: for expense in expenses: cur_expense = {} cur_expense['expense_id'] = str(expense.expense_id) creater_email = expense.creater_email creaters = User.query( User.user_email == creater_email).fetch() creater = creaters[0] creater_nick_name = creater.nick_name cur_expense['creater_nickname'] = creater_nick_name cur_expense['photo'] = expense.cover_url cur_expense['date'] = str(expense.last_edit) cur_expense['expense_name'] = expense.expense_name cur_expense['sharer_lst'] = expense.user_email_lst cur_expense['is_paid'] = expense.is_paid cur_expense['the_number_of_items'] = len( expense.item_id_lst) cur_expense['total_cost'] = expense.total_cost # cur_expense['approval_cost'] = expense.approval_cost expenses_lst.append(cur_expense) self.respond(status="success", expenses_lst=expenses_lst)
def get(self): apt_name = self.request.get(IDENTIFIER_APT_NAME) user_email = self.request.get(IDENTIFIER_USER_EMAIL) apt_lst = Apartment.query(Apartment.apt_name == apt_name).fetch() # print "called: " + user_email + ", " + apt_name cur_apt = None for apt in apt_lst: if user_email in apt.user_email_lst: cur_apt = apt user_lst = User.query(User.apt_id == cur_apt.apt_id).fetch() sorted_user_lst = sorted(user_lst, key=lambda user:user.owe) first = 0 end = len(sorted_user_lst) - 1 payment_lst = [] print "sorted_lst: " + str(sorted_user_lst) while first < end: first_user = sorted_user_lst[first] end_user = sorted_user_lst[end] if first_user.owe == 0: first += 1 continue if end_user.owe == 0: end -= 1 continue payment = {} payment['from'] = first_user.user_email payment['to'] = end_user.user_email if abs(first_user.owe) > end_user.owe: payment['amount'] = end_user.owe first_user.owe += end_user.owe end_user.owe = 0 else: payment['amount'] = abs(first_user.owe) end_user.owe -= abs(first_user.owe) first_user.owe = 0 print payment print first_user.user_email + ": " + str(first_user.owe) print end_user.user_email + ": " + str(end_user.owe) payment_lst.append(payment) first_user.put() end_user.put() self.respond(payment_lst = payment_lst, status="Success")
def get(self): user_email = self.request.get(IDENTIFIER_USER_EMAIL) users = User.query(User.user_email == user_email).fetch() if len(users) == 0: response = {} response['error'] = 'the email: ' + user_email + ' has not registered yet' return self.respond(**response) cur_user = users[0] bank_account = cur_user.bank_account nick_name = cur_user.nick_name owe = cur_user.cost owed = cur_user.borrow balance = cur_user.owe print("user information collected. e.g. bankaccount="+bank_account) tasks = cur_user.getAlltasks() finished_task_lst = [] unfinished_task_lst = [] # for task in tasks: # cur_task = {} # cur_task['task_id'] = task.task_id # cur_task['task_name'] = task.task_name # if task.finished: # finished_task_lst.append(cur_task) # else: # unfinished_task_lst.append(cur_task) taskinfo = {} taskinfo['finished_task_lst'] = finished_task_lst taskinfo['unfinished_task_lst'] = unfinished_task_lst print("task collected") apt_id = cur_user.apt_id apts = Apartment.query(Apartment.apt_id == apt_id).fetch() apt_info = {} if len(apts) > 0: apt = apts[0] apt_info['apt_name'] = apt.apt_name apt_info['apt_id'] = apt.apt_id apt_info['roommates_lst'] = apt.get_all_memebers_nickname() apt_info['apt_photo'] = apt.cover_url # usr_photo = cur_user.cover_url print("apartment information collected. now respond.") self.respond(status="Success", bank_account=bank_account, nick_name = nick_name, user_email = user_email, owe=owe, owed = owed, balance = balance, apt_info = apt_info, task_info = taskinfo, registered=True)
def get(self): apt_name = self.request.get(IDENTIFIER_APT_NAME) user_email = self.request.get(IDENTIFIER_USER_EMAIL) apt_lst = Apartment.query(Apartment.apt_name == apt_name).fetch() # print "called: " + user_email + ", " + apt_name cur_apt = None for apt in apt_lst: if user_email in apt.user_email_lst: cur_apt = apt user_lst = User.query(User.apt_id == cur_apt.apt_id).fetch() sorted_user_lst = sorted(user_lst, key=lambda user: user.owe) first = 0 end = len(sorted_user_lst) - 1 payment_lst = [] print "sorted_lst: " + str(sorted_user_lst) while first < end: first_user = sorted_user_lst[first] end_user = sorted_user_lst[end] if first_user.owe == 0: first += 1 continue if end_user.owe == 0: end -= 1 continue payment = {} payment['from'] = first_user.user_email payment['to'] = end_user.user_email if abs(first_user.owe) > end_user.owe: payment['amount'] = end_user.owe first_user.owe += end_user.owe end_user.owe = 0 else: payment['amount'] = abs(first_user.owe) end_user.owe -= abs(first_user.owe) first_user.owe = 0 print payment print first_user.user_email + ": " + str(first_user.owe) print end_user.user_email + ": " + str(end_user.owe) payment_lst.append(payment) first_user.put() end_user.put() self.respond(payment_lst=payment_lst, status="Success")
def get(self): expense_name = self.request.get(IDENTIFIER_EXPENSE_NAME) apt_name = self.request.get(IDENTIFIER_APT_NAME) user_email = self.request.get(IDENTIFIER_USER_EMAIL) apt_lst = Apartment.query(Apartment.apt_name == apt_name).fetch() cur_apt = None for apt in apt_lst: if user_email in apt.user_email_lst: cur_apt = apt if cur_apt == None: response = {} response[ 'error'] = 'the apt: ' + apt_name + ' is not available for user: '******'error'] = 'the apt: ' + apt_name + ' does not have a expense named: ' + expense_name return self.respond(**response) if cur_expense.is_paid: response = {} response[ 'error'] = 'the : ' + expense_name + ' has already been paid' return self.respond(**response) cur_expense.checkout() cur_apt.total_cost += cur_expense.total_cost cur_apt.put() user_info_lst = [] for user_email in cur_apt.user_email_lst: users = User.query(User.user_email == user_email).fetch() user = users[0] user_info = {} user_info['email:'] = user_email user_info['nick_name'] = user.nick_name user_info['owe'] = user.cost user_info['owed'] = user.borrow user_info['balance'] = user.owe user_info_lst.append(user_info) self.respond(user_info_lst=user_info_lst, status="Success")
def get(self): expense_name = self.request.get(IDENTIFIER_EXPENSE_NAME) apt_name = self.request.get(IDENTIFIER_APT_NAME) user_email = self.request.get(IDENTIFIER_USER_EMAIL) apt_lst = Apartment.query(Apartment.apt_name == apt_name).fetch() cur_apt = None for apt in apt_lst: if user_email in apt.user_email_lst: cur_apt = apt if cur_apt == None: response = {} response['error'] = 'the apt: ' + apt_name + ' is not available for user: '******'error'] = 'the apt: ' + apt_name + ' does not have a expense named: ' + expense_name return self.respond(**response) if cur_expense.is_paid: response = {} response['error'] = 'the : ' + expense_name + ' has already been paid' return self.respond(**response) cur_expense.checkout() cur_apt.total_cost += cur_expense.total_cost cur_apt.put() user_info_lst = [] for user_email in cur_apt.user_email_lst: users = User.query(User.user_email == user_email).fetch() user = users[0] user_info = {} user_info['email:'] = user_email user_info['nick_name'] = user.nick_name user_info['owe'] = user.cost user_info['owed'] = user.borrow user_info['balance'] = user.owe user_info_lst.append(user_info) self.respond(user_info_lst = user_info_lst, status="Success")
def get(self): # req_json = json.loads(self.request.body) # apt_name = req_json[IDENTIFIER_APT_NAME] apt_name = self.request.get(IDENTIFIER_APT_NAME) # # user_email = req_json[IDENTIFIER_USER_EMAIL] # user_email = self.request.get(IDENTIFIER_USER_EMAIL) # new_email = req_json[IDENTIFIER_NEW_EMAIL] new_email = self.request.get(IDENTIFIER_NEW_EMAIL) apt_lst = Apartment.query(Apartment.apt_name == apt_name).fetch() target_apt = None if len(apt_lst)!=0: target_apt = apt_lst[0] # for apt in apt_lst: # if user_email in apt.user_email_lst: # target_apt = apt # break user_lst = User.query(User.user_email == new_email).fetch() # if target_apt == None: # response = {} # response['error'] = 'the email: ' + user_email + ' has not been registered' # return self.respond(**response) if len(user_lst) == 0: response = {} response['error'] = 'the new email: ' + new_email + ' has not been registered' return self.respond(**response) new_user = user_lst[0] if not new_user.apt_id is None: response = {} response['error'] = 'the user: '******' cannot be added' return self.respond(**response) new_user.apt_id = target_apt.apt_id if not new_email in target_apt.user_email_lst: target_apt.user_email_lst.insert(0, new_email) target_apt.put() new_user.put() self.respond(apt_id = target_apt.apt_id, status="Success")
def get(self): apt_id = self.request.get(IDENTIFIER_APT_ID) apts = Apartment.query(Apartment.apt_id == apt_id).fetch() user_nickname_lst=[] if apts[0]: apt = apts[0] for user_email in apt.user_email_lst: users = User.query(User.user_email == user_email).fetch() user = users[0] user_nickname_lst.append(user.nick_name) self.respond(status="success", apt_id=apt.apt_id, apt_name=apt.apt_name, creater_email=apt.user_email_lst, user_email_lst=apt.user_email_lst, user_nickname_lst=user_nickname_lst) else: print("cannot find the apartment with id :" + apt_id) self.respond(status="fail", error_msg="cannot find the apartment with id :" + apt_id)
def get(self): apt_id = self.request.get(IDENTIFIER_APT_ID) target_apt_lst = Apartment.query(Apartment.apt_id == apt_id).fetch() if len(target_apt_lst) != 1: print "target_apt_lst length error:" + str(len(target_apt_lst)) query_apt = target_apt_lst[0] expense_id_lst = query_apt.expense_id_lst print "expense_id_lst length:" + str(len(expense_id_lst)) unassigned_tasks_lst = [] assigned_tasks_lst = [] finished_tasks_lst = [] for expense_id in expense_id_lst: # expense_id = self.request.get(IDENTIFIER_EXPENSE_ID) expenses = Expense.query(Expense.expense_id == expense_id).fetch() if len(expenses) == 0: continue expense = expenses[0] tasks = expense.getAllTasks() for task in tasks: cur_task = {} cur_task['photo_blobkey'] = str(task.photo_blobkey) cur_task['creator_nickname'] = task.getCreaterNickName() cur_task['creator_email'] = task.creater_email cur_task['task_name'] = task.task_name cur_task['description'] = task.description cur_task['task_id'] = str(task.task_id) cur_task['expense_id'] = str(task.expense_id) cur_task['candidate_lst_str'] = task.getCandidateListString() if task.assigned: cur_task['charger_name'] = task.getChargerNickName() cur_task['charger_email'] = task.charger_email if task.finished: finished_tasks_lst.append(cur_task) else: assigned_tasks_lst.append(cur_task) else: unassigned_tasks_lst.append(cur_task) task_info = {} task_info['finished_tasks_lst'] = finished_tasks_lst task_info['unassigned_tasks_lst'] = unassigned_tasks_lst task_info['assigned_tasks_lst'] = assigned_tasks_lst self.respond(task_info=task_info, status="Success")
def get(self): apt_id = self.request.get(IDENTIFIER_APT_ID) target_apt_lst = Apartment.query(Apartment.apt_id == apt_id).fetch() if len(target_apt_lst)!=1: print "target_apt_lst length error:" + str(len(target_apt_lst)) query_apt = target_apt_lst[0] expense_id_lst = query_apt.expense_id_lst print "expense_id_lst length:" + str(len(expense_id_lst)) unassigned_tasks_lst = [] assigned_tasks_lst = [] finished_tasks_lst = [] for expense_id in expense_id_lst: # expense_id = self.request.get(IDENTIFIER_EXPENSE_ID) expenses = Expense.query(Expense.expense_id == expense_id).fetch() if len(expenses) == 0: continue expense = expenses[0] tasks = expense.getAllTasks() for task in tasks: cur_task = {} cur_task['photo_blobkey'] = str(task.photo_blobkey) cur_task['creator_nickname'] = task.getCreaterNickName() cur_task['creator_email'] = task.creater_email cur_task['task_name'] = task.task_name cur_task['description'] = task.description cur_task['task_id'] = str(task.task_id) cur_task['expense_id'] = str(task.expense_id) cur_task['candidate_lst_str'] = task.getCandidateListString() if task.assigned: cur_task['charger_name'] = task.getChargerNickName() cur_task['charger_email'] = task.charger_email if task.finished: finished_tasks_lst.append(cur_task) else: assigned_tasks_lst.append(cur_task) else: unassigned_tasks_lst.append(cur_task) task_info = {} task_info['finished_tasks_lst'] = finished_tasks_lst task_info['unassigned_tasks_lst'] = unassigned_tasks_lst task_info['assigned_tasks_lst'] = assigned_tasks_lst self.respond(task_info=task_info, status="Success")
def get(self): # req_json = json.loads(self.request.body) # apt_name = req_json[IDENTIFIER_APT_NAME] apt_name = self.request.get(IDENTIFIER_APT_NAME) # # user_email = req_json[IDENTIFIER_USER_EMAIL] # user_email = self.request.get(IDENTIFIER_USER_EMAIL) # new_email = req_json[IDENTIFIER_NEW_EMAIL] new_email = self.request.get(IDENTIFIER_NEW_EMAIL) apt_lst = Apartment.query(Apartment.apt_name == apt_name).fetch() target_apt = None if len(apt_lst) != 0: target_apt = apt_lst[0] # for apt in apt_lst: # if user_email in apt.user_email_lst: # target_apt = apt # break user_lst = User.query(User.user_email == new_email).fetch() # if target_apt == None: # response = {} # response['error'] = 'the email: ' + user_email + ' has not been registered' # return self.respond(**response) if len(user_lst) == 0: response = {} response[ 'error'] = 'the new email: ' + new_email + ' has not been registered' return self.respond(**response) new_user = user_lst[0] if not new_user.apt_id is None: response = {} response['error'] = 'the user: '******' cannot be added' return self.respond(**response) new_user.apt_id = target_apt.apt_id if not new_email in target_apt.user_email_lst: target_apt.user_email_lst.insert(0, new_email) target_apt.put() new_user.put() self.respond(apt_id=target_apt.apt_id, status="Success")
def get(self): # req_json = json.loads(self.request.body) # user_email = req_json[IDENTIFIER_USER_EMAIL] user_email = self.request.get(IDENTIFIER_USER_EMAIL) # apt_name = req_json[IDENTIFIER_APT_NAME] apt_name = self.request.get(IDENTIFIER_APT_NAME) # description = req_json[IDENTIFIER_DESCRIPTION_NAME] description = self.request.get(IDENTIFIER_DESCRIPTION_NAME) apt_lst = Apartment.query(Apartment.apt_name == apt_name).fetch() cur_apt = None for apt in apt_lst: if user_email in apt.user_email_lst: cur_apt = apt if cur_apt == None: response = {} response[ 'error'] = 'the apt: ' + apt_name + ' is not available for user: '******'error'] = 'we dont have notebook for the apt: ' + apt_name return self.respond(**response) cur_note_book = cur_note_book_lst[0] note_id = uuid.uuid4() note = Note(id=str(note_id), description=description, author_email=user_email, notebook_id=cur_note_book_id) cur_note_book.note_id_lst.append(str(note_id)) cur_note_book.put() note.put() self.respond(note_id=str(note_id), notebook_id=cur_note_book_id, status="Success")
def get(self): # req_json = json.loads(self.request.body) # user_email = req_json[IDENTIFIER_USER_EMAIL] user_email = self.request.get(IDENTIFIER_USER_EMAIL) # apt_name = req_json[IDENTIFIER_APT_NAME] apt_name = self.request.get(IDENTIFIER_APT_NAME) # description = req_json[IDENTIFIER_DESCRIPTION_NAME] description = self.request.get(IDENTIFIER_DESCRIPTION_NAME) apt_lst = Apartment.query(Apartment.apt_name == apt_name).fetch() cur_apt = None for apt in apt_lst: if user_email in apt.user_email_lst: cur_apt = apt if cur_apt == None: response = {} response['error'] = 'the apt: ' + apt_name + ' is not available for user: '******'error'] = 'we dont have notebook for the apt: ' + apt_name return self.respond(**response) cur_note_book = cur_note_book_lst[0] note_id = uuid.uuid4() note = Note(id = str(note_id), description = description, author_email = user_email, notebook_id = cur_note_book_id) cur_note_book.note_id_lst.append(str(note_id)) cur_note_book.put() note.put() self.respond(note_id = str(note_id), notebook_id = cur_note_book_id, status="Success")
def get(self): apt_id = self.request.get(IDENTIFIER_APT_ID) apts = Apartment.query(Apartment.apt_id == apt_id).fetch() user_nickname_lst = [] if apts[0]: apt = apts[0] for user_email in apt.user_email_lst: users = User.query(User.user_email == user_email).fetch() user = users[0] user_nickname_lst.append(user.nick_name) self.respond(status="success", apt_id=apt.apt_id, apt_name=apt.apt_name, creater_email=apt.user_email_lst, user_email_lst=apt.user_email_lst, user_nickname_lst=user_nickname_lst) else: print("cannot find the apartment with id :" + apt_id) self.respond(status="fail", error_msg="cannot find the apartment with id :" + apt_id)
def get(self): apt_name = self.request.get(IDENTIFIER_APT_NAME) user_email = self.request.get(IDENTIFIER_USER_EMAIL) apt_lst = Apartment.query(Apartment.apt_name == apt_name).fetch() cur_apt = None for apt in apt_lst: if user_email in apt.user_email_lst: cur_apt = apt if cur_apt == None: response = {} response['error'] = 'the apt: ' + apt_name + ' is not available for user: ' + user_email return self.respond(**response) for expense_id in cur_apt.expense_id_lst: expense_lst = Expense.query(Expense.expense_id == expense_id).fetch() if len(expense_lst) > 0: expense = expense_lst[0] if not expense.is_paid: expense.checkout() cur_apt.total_cost += expense.total_cost cur_apt.put() self.respond(status="Success")
def get(self): photo = None # if IDENTIFIER_TASK_PHOTO in req_json: # photo = req_json[IDENTIFIER_TASK_PHOTO] task_id = uuid.uuid4() # req_json = json.loads(self.request.body) # task_name = req_json[IDENTIFIER_TASK_NAME] task_name = self.request.get(IDENTIFIER_TASK_NAME) # creater_email = req_json[IDENTIFIER_USER_EMAIL] creater_email = self.request.get(IDENTIFIER_USER_EMAIL) #create a new expense expense_id = uuid.uuid4() # req_json = json.loads(self.request.body) expense_name = "Task_" + task_name # candidate_lst= req_json[IDENTIFIER_USER_EMAIL_LIST] candidates = self.request.get(IDENTIFIER_USER_EMAIL_LIST) candidate_lst = candidates.split(",") # description = req_json[IDENTIFIER_DESCRIPTION_NAME] description = self.request.get(IDENTIFIER_DESCRIPTION_NAME) apt_id = self.request.get(IDENTIFIER_APT_ID) target_apt_lst = Apartment.query(Apartment.apt_id == apt_id).fetch() if len(target_apt_lst) != 0: target_apt = target_apt_lst[0] print "Found the target_apt " + target_apt.apt_name new_expense = Expense(apt_id=target_apt.apt_id, creater_email=creater_email, user_email_lst=candidate_lst, cover_url=None, expense_name=expense_name, total_cost=0, is_paid=False, expense_id=str(expense_id)) target_apt.expense_id_lst.insert(0, str(expense_id)) new_expense.put() target_apt.put() task_id_lst = new_expense.task_id_lst if not task_id_lst: task_id_lst = [] task_id_lst.append(str(task_id)) new_expense.task_id_lst = task_id_lst new_expense.put() # # expenses = Expense.query(Expense.expense_id == expense_id).fetch() # # expense = expenses[0] # expense.task_id_lst.append(str(task_id)) # expense.put() new_task = Task(task_name=task_name, expense_id=str(expense_id), creater_email=creater_email, candidate_lst=candidate_lst, description=description, photo_blobkey=photo, task_id=str(task_id), finished=False, assigned=False) new_task.put() self.respond(task_id=str(task_id), status="Success")
def get(self): user_email = self.request.get(IDENTIFIER_USER_EMAIL) apt_name = self.request.get(IDENTIFIER_APT_NAME) apt_lst = Apartment.query(Apartment.apt_name == apt_name).fetch() cur_apt = None for apt in apt_lst: if user_email in apt.user_email_lst: cur_apt = apt if cur_apt == None: response = {} response[ 'error'] = 'the apt: ' + apt_name + ' is not available for user: '******'id'] = str(note.id) cur_note['description'] = note.description author_email = note.author_email authors = User.query(User.user_email == author_email).fetch() author = authors[0] writer = author.nick_name cur_note['writer'] = writer cur_note['date'] = str(note.date) note_lst.append(cur_note) expenses_lst = [] expenses = cur_apt.getAllexpenses() for expense in expenses: cur_expense = {} cur_expense['expense_id'] = str(expense.expense_id) creater_email = expense.creater_email creaters = User.query(User.user_email == creater_email).fetch() creater = creaters[0] creater_nick_name = creater.nick_name cur_expense['creater_nickname'] = creater_nick_name cur_expense['photo'] = expense.cover_url cur_expense['date'] = str(expense.last_edit) cur_expense['expense_name'] = expense.expense_name cur_expense['sharer_lst'] = expense.user_email_lst cur_expense['is_paid'] = expense.is_paid cur_expense['the_number_of_items'] = len(expense.item_id_lst) cur_expense['total_cost'] = str(expense.total_cost) expenses_lst.append(cur_expense) self.respond(roomates_email_lst=roomates_email_lst, roomates_nickname_lst=roomates_nickname_lst, apt_id=str(apt_id), apt_name=apt_name, cover_url=cover_url, notes_lst=note_lst, expenses_lst=expenses_lst, status="Success")
def get(self): user_email = self.request.get(IDENTIFIER_USER_EMAIL) users = User.query(User.user_email == user_email).fetch() if len(users) == 0: response = {} response[ 'error'] = 'the email: ' + user_email + ' has not registered yet' return self.respond(**response) cur_user = users[0] bank_account = cur_user.bank_account nick_name = cur_user.nick_name owe = cur_user.cost owed = cur_user.borrow balance = cur_user.owe print("user information collected. e.g. bankaccount=" + bank_account) tasks = cur_user.getAlltasks() finished_task_lst = [] unfinished_task_lst = [] # for task in tasks: # cur_task = {} # cur_task['task_id'] = task.task_id # cur_task['task_name'] = task.task_name # if task.finished: # finished_task_lst.append(cur_task) # else: # unfinished_task_lst.append(cur_task) taskinfo = {} taskinfo['finished_task_lst'] = finished_task_lst taskinfo['unfinished_task_lst'] = unfinished_task_lst print("task collected") apt_id = cur_user.apt_id apts = Apartment.query(Apartment.apt_id == apt_id).fetch() apt_info = {} if len(apts) > 0: apt = apts[0] apt_info['apt_name'] = apt.apt_name apt_info['apt_id'] = apt.apt_id apt_info['roommates_lst'] = apt.get_all_memebers_nickname() apt_info['apt_photo'] = apt.cover_url # usr_photo = cur_user.cover_url print("apartment information collected. now respond.") self.respond(status="Success", bank_account=bank_account, nick_name=nick_name, user_email=user_email, owe=owe, owed=owed, balance=balance, apt_info=apt_info, task_info=taskinfo, registered=True)
def get(self): expense_id = uuid.uuid4() # req_json = json.loads(self.request.body) # expense_name = req_json[IDENTIFIER_EXPENSE_NAME ] expense_name = self.request.get(IDENTIFIER_EXPENSE_NAME) # user_email = req_json[IDENTIFIER_USER_EMAIL] user_email = self.request.get(IDENTIFIER_USER_EMAIL) # apt_name = req_json[IDENTIFIER_APT_NAME] apt_name = self.request.get(IDENTIFIER_APT_NAME) user_emails = self.request.get(IDENTIFIER_USER_LIST) user_email_lst = user_emails.split(",") target_apt_lst = Apartment.query(Apartment.apt_name == apt_name).fetch() target_apt = None for apt in target_apt_lst: if user_email in apt.user_email_lst: target_apt = apt break if target_apt == None: response = {} response['error'] = 'the user: '******' is not valid for apt: ' + apt_name return self.respond(**response) # user_email_lst.insert(0, user_email) # check whether this apt name is valid or not expense_lst = Expense.query(Expense.expense_name == expense_name) for expense in expense_lst: for user in user_email_lst: if user in expense.user_email_lst: response = {} response['error'] = 'the apartment name: ' + expense_name + ' has not been used for ' + user return self.respond(**response) # check whether all of these email are valid users for user in user_email_lst: users = User.query(User.user_email == user).fetch() if len(users) == 0: response = {} response['error'] = 'the email: ' + user + ' has not been registered' return self.respond(**response) cover_url = None # if IDENTIFIER_APT_PHOTO in req_json: # cover_url = req_json[IDENTIFIER_APT_PHOTO] new_expense = Expense(apt_id = target_apt.apt_id, creater_email = user_email, user_email_lst = user_email_lst, cover_url = cover_url, expense_name = expense_name, total_cost = 0, is_paid = False, expense_id = str(expense_id )) target_apt.expense_id_lst.insert(0, str(expense_id)) new_expense.put() target_apt.put() self.respond(expense_id = str(expense_id), status="Success")
def get(self): user_email = self.request.get(IDENTIFIER_USER_EMAIL) apt_name = self.request.get(IDENTIFIER_APT_NAME) apt_lst = Apartment.query(Apartment.apt_name == apt_name).fetch() cur_apt = None for apt in apt_lst: if user_email in apt.user_email_lst: cur_apt = apt if cur_apt == None: response = {} response['error'] = 'the apt: ' + apt_name + ' is not available for user: '******'id'] = str(note.id) cur_note['description'] = note.description author_email = note.author_email authors = User.query(User.user_email == author_email).fetch() author = authors[0] writer = author.nick_name cur_note['writer'] = writer cur_note['date'] = str(note.date) note_lst.append(cur_note) expenses_lst = [] expenses = cur_apt.getAllexpenses() for expense in expenses: cur_expense = {} cur_expense['expense_id'] = str(expense.expense_id) creater_email = expense.creater_email creaters = User.query(User.user_email == creater_email).fetch() creater = creaters[0] creater_nick_name = creater.nick_name cur_expense['creater_nickname'] = creater_nick_name cur_expense['photo'] = expense.cover_url cur_expense['date'] = str(expense.last_edit) cur_expense['expense_name'] = expense.expense_name cur_expense['sharer_lst'] = expense.user_email_lst cur_expense['is_paid'] = expense.is_paid cur_expense['the_number_of_items'] = len(expense.item_id_lst) cur_expense['total_cost'] = str(expense.total_cost) expenses_lst.append(cur_expense) self.respond(roomates_email_lst = roomates_email_lst, roomates_nickname_lst = roomates_nickname_lst, apt_id = str(apt_id), apt_name = apt_name, cover_url = cover_url, notes_lst = note_lst, expenses_lst = expenses_lst, status="Success")
def get(self): photo = None # if IDENTIFIER_TASK_PHOTO in req_json: # photo = req_json[IDENTIFIER_TASK_PHOTO] task_id = uuid.uuid4() # req_json = json.loads(self.request.body) # task_name = req_json[IDENTIFIER_TASK_NAME] task_name = self.request.get(IDENTIFIER_TASK_NAME) # creater_email = req_json[IDENTIFIER_USER_EMAIL] creater_email = self.request.get(IDENTIFIER_USER_EMAIL) #create a new expense expense_id = uuid.uuid4() # req_json = json.loads(self.request.body) expense_name = "Task_"+task_name # candidate_lst= req_json[IDENTIFIER_USER_EMAIL_LIST] candidates = self.request.get(IDENTIFIER_USER_EMAIL_LIST) candidate_lst = candidates.split(",") # description = req_json[IDENTIFIER_DESCRIPTION_NAME] description = self.request.get(IDENTIFIER_DESCRIPTION_NAME) apt_id = self.request.get(IDENTIFIER_APT_ID) target_apt_lst = Apartment.query(Apartment.apt_id == apt_id).fetch() if len(target_apt_lst)!=0: target_apt = target_apt_lst[0] print "Found the target_apt " + target_apt.apt_name new_expense = Expense(apt_id = target_apt.apt_id, creater_email = creater_email, user_email_lst = candidate_lst, cover_url = None, expense_name = expense_name, total_cost = 0, is_paid = False, expense_id = str(expense_id )) target_apt.expense_id_lst.insert(0, str(expense_id)) new_expense.put() target_apt.put() task_id_lst = new_expense.task_id_lst if not task_id_lst: task_id_lst = [] task_id_lst.append(str(task_id)) new_expense.task_id_lst = task_id_lst new_expense.put() # # expenses = Expense.query(Expense.expense_id == expense_id).fetch() # # expense = expenses[0] # expense.task_id_lst.append(str(task_id)) # expense.put() new_task = Task(task_name = task_name, expense_id = str(expense_id), creater_email = creater_email, candidate_lst = candidate_lst, description = description, photo_blobkey = photo, task_id = str(task_id), finished = False, assigned = False) new_task.put() self.respond(task_id = str(task_id), status="Success")
def get(self): expense_id = uuid.uuid4() # req_json = json.loads(self.request.body) # expense_name = req_json[IDENTIFIER_EXPENSE_NAME ] expense_name = self.request.get(IDENTIFIER_EXPENSE_NAME) # user_email = req_json[IDENTIFIER_USER_EMAIL] user_email = self.request.get(IDENTIFIER_USER_EMAIL) # apt_name = req_json[IDENTIFIER_APT_NAME] apt_name = self.request.get(IDENTIFIER_APT_NAME) user_emails = self.request.get(IDENTIFIER_USER_LIST) user_email_lst = user_emails.split(",") target_apt_lst = Apartment.query( Apartment.apt_name == apt_name).fetch() target_apt = None for apt in target_apt_lst: if user_email in apt.user_email_lst: target_apt = apt break if target_apt == None: response = {} response[ 'error'] = 'the user: '******' is not valid for apt: ' + apt_name return self.respond(**response) # user_email_lst.insert(0, user_email) # check whether this apt name is valid or not expense_lst = Expense.query(Expense.expense_name == expense_name) for expense in expense_lst: for user in user_email_lst: if user in expense.user_email_lst: response = {} response[ 'error'] = 'the apartment name: ' + expense_name + ' has not been used for ' + user return self.respond(**response) # check whether all of these email are valid users for user in user_email_lst: users = User.query(User.user_email == user).fetch() if len(users) == 0: response = {} response[ 'error'] = 'the email: ' + user + ' has not been registered' return self.respond(**response) cover_url = None # if IDENTIFIER_APT_PHOTO in req_json: # cover_url = req_json[IDENTIFIER_APT_PHOTO] new_expense = Expense(apt_id=target_apt.apt_id, creater_email=user_email, user_email_lst=user_email_lst, cover_url=cover_url, expense_name=expense_name, total_cost=0, is_paid=False, expense_id=str(expense_id)) target_apt.expense_id_lst.insert(0, str(expense_id)) new_expense.put() target_apt.put() self.respond(expense_id=str(expense_id), status="Success")