예제 #1
0
def deactivate_member(member_id):
    rowcount = db.deactivate_member(member_id)
    print(db.find_member(member_id)['is_active'])
    # if the member is not active
    if db.find_member(member_id)['is_active'] == '0':
        flash("Member Deactivated!")
    return redirect(url_for('all_members'))
def reactivate_member(member_id):
    rowcount = db.reactivate_member(member_id)
    print(db.find_member(member_id)[9])
    # if the member is not active
    if db.find_member(member_id)[9] == 0:
        flash("Member Reactivated!")
    return redirect(url_for('all_members'))
    def test_edit_member(self):
        """Make sure we can edit an existing member."""
        member_status = self.create_test_member()
        self.assertEqual(member_status['rowcount'], 1)

        member_id = member_status['id']
        test_member = db.find_member(member_id)
        self.assertIsNotNone(test_member)

        test_member['first_name'] = 'Edited'
        test_member['email'] = '*****@*****.**'
        test_member['phone_number'] = '555-1234'
        test_member['join_date'] = '2017-03-24'
        row_count = db.edit_member(test_member)
        self.assertEqual(row_count, 1)

        self.bounce_db_connection()

        edited_member = db.find_member(member_id)
        self.assertIsNotNone(edited_member)
        self.assertEqual(edited_member['first_name'], 'Edited')
        self.assertEqual(edited_member['last_name'], 'Member')
        self.assertEqual(edited_member['email'], '*****@*****.**')
        self.assertEqual(edited_member['phone_number'], '555-1234')
        self.assertEqual(edited_member['gender'], 'F')
        self.assertEqual(edited_member['birthday'], '2001-12-25')
        self.assertEqual(edited_member['baptism_status'], True)
        self.assertEqual(edited_member['join_date'], '2017-03-24')
        self.assertEqual(edited_member['is_active'], True)
예제 #4
0
    def test_add_member(self):
        """Make sure we can add a new member."""
        row_count = db.create_member('*****@*****.**', 'FirstName',
                                     'LastName', 'pass')
        self.assertEqual(row_count, 1)

        test_member = db.find_member('*****@*****.**')
        self.assertIsNotNone(test_member)

        self.assertEqual(test_member['first_name'], 'FirstName')
        self.assertEqual(test_member['last_name'], 'LastName')
예제 #5
0
def add_member_to_homegroup(homegroup_id, member_id):
    inactive_homegroup_members = db.get_homegroup_inactive_members(homegroup_id)
    new = 'Y'
    for members in inactive_homegroup_members:
        print(members['member_id'])
        if int (members['member_id']) == int(member_id):
            new = 'N'
            db.reactive_homegroup_member(homegroup_id, member_id)
    print(new)
    if new == 'Y':
        db.add_member_to_homegroup(homegroup_id, member_id)
    member = db.find_member(member_id)
    flash ("Member {} added to homegroup".format(member['first_name']  + " " + member['last_name']))
    return redirect (url_for('get_homegroup_members', homegroup_id = homegroup_id))
예제 #6
0
    def test_update_member(self):
        """Add and then update a member."""
        row_count = db.create_member('*****@*****.**', 'FirstName',
                                     'LastName', 'pass')
        self.assertEqual(row_count, 1)

        row_count = db.update_member('*****@*****.**', 'NewFirstName',
                                     'LastName', 'newpass')
        self.assertEqual(row_count, 1)

        test_member = db.find_member('*****@*****.**')
        self.assertIsNotNone(test_member)

        self.assertEqual(test_member['first_name'], 'NewFirstName')
        self.assertEqual(test_member['last_name'], 'LastName')
예제 #7
0
def system_notify_member(member_id, num_misses):
    homegroup_id = db.find_member_homegroup(member_id)['homegroup_id']
    leader = db.find_homegroup_leader(homegroup_id)
    email = db.find_member(member_id)['email']
    email_list = []
    email_list.append(email)
    leader_email = leader['email']
    leader_phone = leader['phone_number']
    leader_name = leader['first_name'] + ' ' + leader['last_name']
    email_html = render_template('notify_member_email.html', num_misses = num_misses, leader_name = leader_name, leader_phone = leader_phone, leader_email = leader_email )
    msg = Message(
        'System Reminder: Missing meetings',
        sender='*****@*****.**',
        recipients=email_list,
        html=email_html)
    mail.send(msg)
    def test_add_member(self):
        """Make sure we can add a new member."""
        member_status = self.create_test_member()
        self.assertEqual(member_status['rowcount'], 1)

        self.bounce_db_connection()

        test_member = db.find_member(member_status['id'])
        self.assertIsNotNone(test_member)

        self.assertEqual(test_member['first_name'], 'New')
        self.assertEqual(test_member['last_name'], 'Member')
        self.assertEqual(test_member['email'], '*****@*****.**')
        self.assertEqual(test_member['phone_number'], '555-1212')
        self.assertEqual(test_member['gender'], 'F')
        self.assertEqual(test_member['birthday'], '2001-12-25')
        self.assertEqual(test_member['baptism_status'], True)
        self.assertEqual(test_member['join_date'], '2018-03-24')
예제 #9
0
    def test_add_member(self):
        """Make sure we can add a new user"""
        row_count = db.create_member("Ryley", "Hoekert", "*****@*****.**",
                                     "7192009832", "Female", "Never", 1, 0,
                                     "9/12/16")
        self.assertEqual(row_count, 1)
        member_id = db.recent_member()['id']
        test_hg = db.find_member(member_id)
        self.assertIsNotNone(test_hg)

        self.assertEqual(test_hg['first_name'], 'Ryley')
        self.assertEqual(test_hg['last_name'], 'Hoekert')
        self.assertEqual(test_hg['email'], '*****@*****.**')
        self.assertEqual(test_hg['phone_number'], '7192009832')
        self.assertEqual(test_hg['gender'], 'Female')
        self.assertEqual(test_hg['birthday'], 'Never')
        self.assertEqual(test_hg['baptism_status'], 1)
        self.assertEqual(test_hg['join_date'], '9/12/16')
예제 #10
0
    def test_edit_member(self):
        """Make sure we can edit a homegroup"""
        row_count = db.create_member("Seth", "Gerald", "*****@*****.**",
                                     "922", "Male", "Christmas", 0, 0,
                                     "2/3/09")
        member_id = db.recent_member()['id']
        row_count = db.edit_member(member_id, 'First', 'Last',
                                   '*****@*****.**', "2", "Male", "Easter",
                                   1, 1, "2/3/09")
        test_hg = db.find_member(member_id)
        self.assertIsNotNone(test_hg)

        self.assertEqual(test_hg['first_name'], 'First')
        self.assertEqual(test_hg['last_name'], 'Last')
        self.assertEqual(test_hg['email'], '*****@*****.**')
        self.assertEqual(test_hg['phone_number'], '2')
        self.assertEqual(test_hg['gender'], 'Male')
        self.assertEqual(test_hg['birthday'], 'Easter')
        self.assertEqual(test_hg['baptism_status'], 1)
        self.assertEqual(test_hg['join_date'], '2/3/09')
예제 #11
0
def edit_member(member_id):
    if (int(current_user.member_id )== int(member_id)):
        heading_text = 'Edit My Info'
    else:
        heading_text = 'Edit Member'
    row = db.find_member(member_id)
    member_form = CreateMemberForm(first_name=row['first_name'],
                                   last_name=row['last_name'],
                                   email=row['email'],
                                   phone_number=row['phone_number'],
                                   gender=row['gender'],
                                   baptism_status=row['baptism_status'],
                                   marital_status=row['marital_status'])
    birthday_form = row['birthday']
    join_date_form = row['join_date']


    ## to do add validators back!!! and member_form.validate()
    if request.method == "POST" :
        first_name = member_form.first_name.data
        last_name = member_form.last_name.data
        email = member_form.email.data
        phone_number = member_form.phone_number.data
        gender = member_form.gender.data
        birthday = request.form['Birthday']
        baptism_status = member_form.baptism_status.data
        marital_status = member_form.marital_status.data
        join_date = request.form['JoinDate']

        rowcount = db.edit_member(member_id, first_name, last_name, email, phone_number, gender, birthday,
                                  baptism_status, marital_status, join_date)
        if (rowcount == 1):
            flash("Member {} Updated!".format(member_form.first_name.data))
            if (current_user.role == 'admin'):
                return redirect(url_for('all_members'))
            else:
                homegroup_id = db.find_member_homegroup(member_id)['homegroup_id']
                return redirect(url_for('get_homegroup_members', homegroup_id = homegroup_id))

    return render_template('edit_member.html', heading_text = heading_text, form=member_form, bDay=birthday_form, joinDay=join_date_form)
예제 #12
0
def create_user(member_id):
    allRoles = db.find_roles()
    roleList = []
    email_list = []
    for role in allRoles:
        roleList.append((role["id"], role["role"]))
    member = db.find_member(member_id)
    email = member['email']
    user_form = UserForm()
    user_form.role.choices = roleList

    homegroups = db.get_all_homegroups()
    homegroup_list = []
    for homegroup in homegroups:
        homegroup_list.append((homegroup['id'], homegroup['name']))
    user_form.homegroups.choices = homegroup_list

    if user_form.validate_on_submit():
        email_list.append(email)
        password = user_form.password.data
        pw_hash = bcrypt.generate_password_hash(password).decode('utf-8')
        db.create_user(member_id, pw_hash, user_form.role.data)
        user = db.find_user(email)
        email_html = render_template('user_account_email.html', email=email, password=password, user_id=user['id'])
        msg = Message(
            'User account created for Verbo Velocity',
            sender='*****@*****.**',
            recipients=email_list,
            html=email_html)
        mail.send(msg)
        if user_form.homegroups.data is not None:
            homegroupId = user_form.homegroups.data
            user_id = db.find_user(email)['id']
            db.add_leader_to_homegroup(user_id, homegroupId)

        flash('User Created')
        return redirect(url_for('all_members'))
    return render_template('create_user.html', form=user_form, email = email)
예제 #13
0
def reactivate_member(member_id):
    rowcount = db.reactivate_member(member_id)
    if db.find_member(member_id)['is_active'] == '1':
        flash("Member Reactivated!")
    return redirect(url_for('all_members'))