Пример #1
0
def addUnits():
    sessionChecker = loginRequired()
    if sessionChecker == True:
        if request.method == "POST":
            userID = request.form.get('userID')
            bhID = session['bhID']
            numOfOccupants = request.form.get("num-occupants")
            priceRent = request.form.get("price-rent")
            genderAccommodation = request.form.get("gender-acco")
            street = request.form.get('street')
            barangay = request.form.get('barangay')
            cityOrMunicipality = request.form.get('cityOrMunicipality')
            province = request.form.get('province')

            #initialized unit
            unit = units.unit(bhID, priceRent, numOfOccupants,
                              genderAccommodation)
            locationID = unit.addUnit()

            #initialized unit location
            unitLocation = locations.location(locationID, street, barangay,
                                              cityOrMunicipality, province)
            unitLocation.addLocation()

            description = "{} added a new unit to its boarding house".format(
                session['accountInfo'][1])
            log = logs.log(description)
            log.addLogs()
            msg = flash("Well Done! You've successfully added a new unit.",
                        "success")
        return redirect(url_for('manageUnits', msg=msg))
    else:
        return redirect(url_for("signin"))
Пример #2
0
def login():
    if request.method == "POST":
        #get username/email and password
        usernameOrEmail = request.form.get('usernameOrEmail')
        password = request.form.get('password')

        verification = accounts.account()
        verificationResult = verification.login(usernameOrEmail, password)
        if verificationResult == "Invalid login credentials":
            return render_template('signin.html',
                                   usernameOrEmail=usernameOrEmail,
                                   password=password)
        elif verificationResult == None:
            return redirect(url_for('signin'))
        else:
            contact = contacts.contact()
            check2FA = contact.check2FA(verificationResult[0])
            if check2FA == "N":
                session['accountInfo'] = verificationResult
                description = "{} signed in".format(session['accountInfo'][1])
                log = logs.log(description)
                log.addLogs()
                flash("Welcome! You've successfully login.", "success")
                return redirect(url_for('dashboard'))
            else:
                session['allowForceLogin'] = 1
                session['forceLoginInfo'] = verificationResult
                return render_template('otpways.html',
                                       accountInfo=verificationResult)
    else:
        return redirect(url_for('signin'))
Пример #3
0
def updateProfileAndContact():
    sessionChecker = loginRequired()
    if sessionChecker == True:
        if request.method == 'POST':
            firstName = request.form.get('firstName')
            lastName = request.form.get('lastName')
            gender = request.form.get('gender')
            birthDate = request.form.get('birthDate')
            phoneNo = request.form.get('phoneNo')
            email = request.form.get('email')

            profile = profiles.profile()
            profile.updateProfile(session['accountInfo'][0], firstName,
                                  lastName, gender, birthDate)

            contact = contacts.contact()
            contact.updateContact(session['accountInfo'][0], phoneNo, email)

            account = accounts.account()
            username = session['accountInfo'][1]
            password = session['accountInfo'][2]
            session.clear()
            accountInfo = account.login(username, password)
            session['accountInfo'] = accountInfo
            description = "{} update its account info".format(
                session['accountInfo'][1])
            log = logs.log(description)
            log.addLogs()
            msg = flash(
                "Well Done! You've successfully updated your profile information.",
                "success")
            return redirect(url_for('accountInfo', msg=msg))
    else:
        return redirect(url_for("signin"))
Пример #4
0
def updateUnits(unitID):
    sessionChecker = loginRequired()
    if sessionChecker == True:
        if request.method == "POST":
            userID = request.form.get('userID')
            numOfOccupants = request.form.get("num-occupants")
            rent = request.form.get("price-rent")
            genderAccommodation = request.form.get("gender-acco")

            street = request.form.get("street")
            barangay = request.form.get("barangay")
            cityOrMunicipality = request.form.get("cityOrMunicipality")
            province = request.form.get("province")
            #update unit info
            unit = units.unit()
            unit.updateUnit(unitID, rent, numOfOccupants, genderAccommodation)

            #update unit location
            unitLocation = locations.location()
            unitLocation.updateLocation(unitID, street, barangay,
                                        cityOrMunicipality, province)

            description = "{} updated one of its unit {} info".format(
                session['accountInfo'][1], unitID)
            log = logs.log(description)
            log.addLogs()
            msg = flash("Well Done! You've successfully updated a unit.",
                        "success")
        return redirect(url_for('manageUnits', userID=userID, msg=msg))
    else:
        return redirect(url_for("signin"))
Пример #5
0
def declineLeaveRequest(userID):
    sessionChecker = loginRequired()
    if sessionChecker == True:
        leaveRequest = renters.renter()
        leaveRequest.declineLeaveRequest(userID)
        description = "Leave request of {} was declined by the boarding house owner ".format(
            session['accountInfo'][1])
        log = logs.log(description)
        log.addLogs()
        return redirect(url_for('manageTenants'))
    else:
        return redirect(url_for("signin"))
Пример #6
0
def deleteReservation(reservationNo):
    sessionChecker = loginRequired()
    if sessionChecker == True:
        reserve = reservations.reservation()
        reserve.deleteReservation(reservationNo)
        description = "{} deleted reservation no.{} ".format(
            session['accountInfo'][1], reservationNo)
        log = logs.log(description)
        log.addLogs()
        return redirect(url_for('renterPendingReservation'))
    else:
        return redirect(url_for("signin"))
Пример #7
0
def requestToLeave(userID, unitID):
    sessionChecker = loginRequired()
    if sessionChecker == True:
        renter = renters.renter()
        renter.requestRenterLeave(userID, unitID)
        description = "{} sents a leave request for the boarding house owner".format(
            session['accountInfo'][1])
        log = logs.log(description)
        log.addLogs()
        return redirect(url_for('rentedUnit'))
    else:
        return redirect(url_for("signin"))
Пример #8
0
def cancelRequestToLeave(userID, unitID):
    sessionChecker = loginRequired()
    if sessionChecker == True:
        renter = renters.renter()
        renter.cancelOrDeclineRenterLeave(userID, unitID)

        description = "{} cancel its leave request".format(
            session['accountInfo'][1])
        log = logs.log(description)
        log.addLogs()
        return redirect(url_for('rentedUnit'))
    else:
        return redirect(url_for("signin"))
Пример #9
0
def forceLogin():
    if 'allowForceLogin' in session:
        session['accountInfo'] = session['forceLoginInfo']
        session.pop('forceLoginInfo')
        session.pop('allowForceLogin')
        description = "{} signed in".format(session['accountInfo'][1])
        log = logs.log(description)
        log.addLogs()
        flash("Welcome! You've successfully login.", "success")

        return redirect(url_for('dashboard'))
    else:
        return redirect(url_for('signin'))
Пример #10
0
def declineRentRequest(reservationNo):
    sessionChecker = loginRequired()
    if sessionChecker == True:
        reservation = reservations.reservation()
        reservation.declineReservation(reservationNo)

        description = "Rent request no.{} was declined by the boarding house owner".format(
            reservationNo)
        log = logs.log(description)
        log.addLogs()

        return redirect(url_for('manageTenants'))
    else:
        return redirect(url_for("signin"))
Пример #11
0
def changeBoardingHouseName():
    sessionChecker = loginRequired()
    if sessionChecker == True:
        if request.method == "POST":
            newBoardingHouseName = request.form.get('bhName')
            userID = request.form.get('userID')
            bh = boardingHouses.boardingHouse()
            bh.changeBoardingHouseName(userID, newBoardingHouseName)
            description = "{} changes its boarding house name to {}".format(
                session['accountInfo'][1], newBoardingHouseName)
            log = logs.log(description)
            log.addLogs()
        return redirect(url_for('manageUnits', userID=userID))
    else:
        return redirect(url_for("signin"))
Пример #12
0
def sendPhoneNumberVerification():
    sessionChecker = loginRequired()
    if sessionChecker == True:
        code = ''.join(random.choice('0123456789') for _ in range(6))
        emailVerification = contacts.contact()
        emailVerification.smsAlert(code, session['accountInfo'][9])

        description = "Panimalay sents an sms verification code to {} r".format(
            session['accountInfo'][9])
        log = logs.log(description)
        log.addLogs()

        return jsonify(result=code)

    return redirect(url_for("signin"))
Пример #13
0
def deleteUnit(unitID):
    sessionChecker = loginRequired()
    if sessionChecker == True:
        if request.method == "POST":
            userID = request.form.get('userID')
            unit = units.unit()
            unit.deleteUnit(unitID)
            description = "{} deleted unit {}".format(
                session['accountInfo'][1], unitID)
            log = logs.log(description)
            log.addLogs()
            msg = flash("Well Done! You've successfully deleted a unit.",
                        "success")
        return redirect(url_for('manageUnits', userID=userID, msg=msg))
    else:
        return redirect(url_for("signin"))
Пример #14
0
def changePasswordForce(contact):
    if request.method == "POST":
        password = request.form.get("newPassword")
        checkContact = contacts.contact()
        checkContact = checkContact.checkIfExist(contact, contact)
        account = accounts.account()
        data = account.forceChangePassword(checkContact[0][0], password)

        verificationResult = account.login(data[0][1], password)

        session['accountInfo'] = verificationResult
        description = "{} signed in".format(session['accountInfo'][1])
        log = logs.log(description)
        log.addLogs()
        flash("Welcome! You've successfully login.", "success")
        return redirect(url_for('dashboard'))
Пример #15
0
def sendEmailVerification():
    sessionChecker = loginRequired()
    if sessionChecker == True:
        code = secrets.token_hex(16)
        msg = "Code: {}".format(code)
        emailVerification = contacts.contact()
        emailVerification.emailAlert("Panimalay Email Verification", msg,
                                     session['accountInfo'][8])

        description = "Panimalay sents an email verification code to {} r".format(
            session['accountInfo'][8])
        log = logs.log(description)
        log.addLogs()
        return jsonify(result=code)

    return redirect(url_for("signin"))
Пример #16
0
def sendRentRequest():
    sessionChecker = loginRequired()
    if sessionChecker == True:
        if request.method == "POST":
            unitID = request.form.get('unitID')
            userID = request.form.get('userID')
            today = datetime.today()
            date = today.strftime("%Y-%m-%d")
            reserve = reservations.reservation(userID, unitID, date)
            reserve.addReservation()
            description = "{} send reservation for unit: {}".format(
                session['accountInfo'][0], unitID)
            log = logs.log(description)
            log.addLogs()
            return redirect(url_for('renterPendingReservation'))
    else:
        return redirect(url_for("signin"))
Пример #17
0
def addPayment():
    sessionChecker = loginRequired()
    if sessionChecker == True:
        if request.method == 'POST':
            renter = request.form.get('renterID')
            bhID = request.form.get('bhID')
            amount = request.form.get('amount')
            paymentDate = request.form.get('paidDate')
            payment = payments.payment(renter, bhID, amount, paymentDate)
            payment.addPayment()
            description = "{} pays P{} to {} ".format(renter, amount, bhID)
            log = logs.log(description)
            log.addLogs()
            msg = flash("Well Done! You've successfully added a payment.",
                        "success")
        return redirect(url_for('managePayment', msg=msg))
    else:
        return redirect(url_for("signin"))
Пример #18
0
def changePassword():
    sessionChecker = loginRequired()
    if sessionChecker == True:
        if request.method == 'POST':
            oldPassword = request.form.get('oldPass')
            newPassword = request.form.get('newPass')
            account = accounts.account()
            account.changePassword(session['accountInfo'][0], oldPassword,
                                   newPassword)
            session['accountInfo'][2] = newPassword
            description = "{} update its password".format(
                session['accountInfo'][1])
            log = logs.log(description)
            log.addLogs()
            msg = flash(
                "Well Done! You've successfully updated your profile information.",
                "success")
        return redirect(url_for('accountInfo', msg=msg))
    return redirect(url_for("signin"))
Пример #19
0
def acceptRentRequest(reservationNo, userID, unitID):
    sessionChecker = loginRequired()
    if sessionChecker == True:
        today = datetime.today()
        date = today.strftime("%Y-%m-%d")
        renter = renters.renter(userID, unitID, date)
        reservation = reservations.reservation()
        reservation.acceptReservation(reservationNo)
        renter.addRenter()

        description = "Rent request of {} was approved by the boarding house owner".format(
            session['accountInfo'][0])
        log = logs.log(description)
        log.addLogs()

        description = "{} started renting for unit: {}".format(
            session['accountInfo'][0], unitID)
        log = logs.log(description)
        log.addLogs()
        return redirect(url_for('manageTenants'))
    else:
        return redirect(url_for("signin"))
Пример #20
0
def logout():
    description = "{} signed out".format(session['accountInfo'][1])
    log = logs.log(description)
    log.addLogs()
    session.clear()
    return redirect(url_for("signin"))