def validate(self): type = request.POST['type'] action = request.POST['action'] errorslist = [] if type == 'expense': transType = request.POST['expenseType'] transTo = request.POST['payTo'] transAmount = request.POST['expenseAmount'] transDate = request.POST['expenseDate'] if transType == 'Choose expense type': errorslist.append({"message":"Please choose an expense type from the drop down menu"}) if not valid.label(transTo): errorslist.append({'selector':'#expensePay', "message":"Please enter a valid name"}) if not valid.money(transAmount): errorslist.append({'selector':'#expenseAmount', "message":"Please enter a valid amount"}) if not valid.date(transDate): errorslist.append({'selector':'#expenseDate', "message":'Please enter a valid date (mm/dd/yyyy)'}) transDate = transDate.split('/') year = int(transDate[2]) if year < 2009: errorslist.append({'selector':'#expenseDate', "message":'Cannot add a transaction before 2009'}) else: transType = request.POST['incomeType'] transFrom = request.POST['incomeFrom'] transAmount = request.POST['incomeAmount'] transDate = request.POST['incomeDate'] if transType == 'Choose income type': errorslist.append({"message":"Please choose an income type from the drop down menu"}) if not valid.label(transFrom): errorslist.append({'selector':'#incomeFrom', "message":"Please enter a valid name"}) if not valid.money(transAmount): errorslist.append({'selector':'#incomeAmount', "message":"Please enter a valid amount"}) if not valid.date(transDate): errorslist.append({'selector':'#incomeDate', "message":'Please enter a valid date (mm/dd/yyyy)'}) transDate = transDate.split('/') year = int(transDate[2]) if year < 2009: errorslist.append({'selector':'#expenseDate', "message":'Cannot add a transaction before 2009'}) return errorslist
def validate(self, action=None): startdate = request.POST["startdate"] enddate = request.POST["enddate"] deposit = request.POST["deposit"] rent = request.POST["rent"].replace(",", "") latecharge = request.POST["latecharge"] unitid = request.POST["unitId"] now = datetime.date.today() m2m = request.POST["m2m"] if m2m == "false": end_date = request.POST["enddate"].split("/") end_date = datetime.date(int(end_date[2]), int(end_date[0]), int(end_date[1])) errorslist = [] if request.POST["m2m"] == "false": if startdate and not enddate: errorslist.append( {"selector": "#lease-end", "message": "There is contract start date but no contract end date"} ) elif enddate and not startdate: errorslist.append( {"selector": "#lease-start", "message": "There is contract end date but no contract start date"} ) elif not valid.date(startdate): errorslist.append( {"selector": "#lease-start", "message": 'Please enter a valid date, i.e. "01/08/2010"'} ) elif not valid.date(enddate): errorslist.append({"selector": "#lease-end", "message": 'Please enter a valid date, i.e. "01/08/2010"'}) elif not valid.date(startdate, enddate): errorslist.append( {"selector": "#lease-start", "message": "Contract start date cannot be after contract end date"} ) elif m2m == "false" and now > end_date: errorslist.append( {"selector": "#lease-end", "message": "Sorry, an expired lease contract cannot be added/edited"} ) else: if not valid.date(startdate): errorslist.append( {"selector": "#lease-start", "message": 'Please enter a valid date, i.e. "01/08/2010"'} ) start = startdate.split("/") startYear = int(start[2]) if startYear < 2006: errorslist.append({"selector": "#lease-start", "message": "Start date must be after 2005"}) if not valid.money(rent): errorslist.append({"selector": "#lease-rent", "message": "Rent: Please enter a valid value"}) if not valid.money(deposit): errorslist.append({"selector": "#lease-deposit", "message": "Deposit: Please enter a valid value"}) if latecharge and not valid.money(latecharge): errorslist.append({"selector": "#lease-lateFee", "message": "Late Fee: Please enter a valid value"}) if not valid.rent(rent): errorslist.append({"selector": "#lease-rent", "message": "That's a bit too high for monthly rent."}) if not valid.deposit(deposit): errorslist.append({"selector": "#lease-deposit", "message": "That's a bit too high for a deposit."}) if not valid.latecharge(latecharge): errorslist.append({"selector": "#lease-lateFee", "message": "That's a bit too high for late charge."}) if action == "create" and not errorslist: now = datetime.date.today() start = startdate.split("/") startYear = int(start[2]) start = datetime.date(int(start[2]), int(start[0]), int(start[1])) if model.Lease.overlap(unitid, startdate): errorslist.append( {"message": "Lease date overlap. Please make sure this lease does not overlap with another lease."} ) elif model.Lease.has_future_lease(unitid) and start > now: errorslist.append( { "message": "This unit already has a future lease set up. Please delete that one before creating a new one." } ) return errorslist