Beispiel #1
0
 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
Beispiel #2
0
    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