Esempio n. 1
0
    def test_create(self):
        member_id = members.create(self.test_member.name,
                                   self.test_member.email,
                                   self.test_member.phone,
                                   self.test_member.joined_date,
                                   self.test_member.agreement_date)
        member = Entity.get(Entity.id == member_id)

        self.assertNotEqual(member.id, self.test_member.id)
        self.assertEqual(member.name, self.test_member.name)
        self.assertEqual(member.email, self.test_member.email)
        self.assertEqual(member.phone, self.test_member.phone)
        self.assertEqual(member.joined_date, self.test_member.joined_date)
        self.assertEqual(member.agreement_date, self.test_member.agreement_date)
        member.delete_instance()

        member_id = members.create(self.test_member.name,
                                   self.test_member.email,
                                   self.test_member.phone,
                                   None,
                                   self.test_member.agreement_date)
        member = Entity.get(Entity.id == member_id)
        self.assertEqual(member.joined_date, date.today())
        member.delete_instance()

        member_id = members.create(self.test_member.name,
                                   self.test_member.email,
                                   self.test_member.phone,
                                   self.test_member.joined_date,
                                   None)
        member = Entity.get(Entity.id == member_id)
        self.assertEqual(member.agreement_date, date.today())
        member.delete_instance()
Esempio n. 2
0
def authenticate_token(token):
    try:
        member = Entity.get(Entity.token == token)
        if (member.token_expiry > datetime.now()):
            return member
    except:
        pass
    return None  # no such token for member, or token is expired
Esempio n. 3
0
def authenticate_token(token):
    try:
        member = Entity.get(Entity.token == token)
        if (member.token_expiry > datetime.now()):
            return member
    except Exception:
        pass
    return None  # no such token for member, or token is expired
Esempio n. 4
0
def update(member_id, name, email, phone, joined_date=None, agreement_date=None):
    member = Entity.get((Entity.id == member_id) & Entity.is_member)
    member.name = name
    member.email = email
    member.phone = phone
    member.joined_date = joined_date
    member.agreement_date = agreement_date

    return member.save()
Esempio n. 5
0
def update(name, email, phone, member=None):
    if member is None:
        member = Entity.get(Entity.email == email)
    member.name = name
    member.email = email
    member.phone = phone
    member.agreement_date = date.today()

    return member.save()
Esempio n. 6
0
 def test_update(self):
     new_name = "Joe Flanders"
     new_email = "*****@*****.**"
     new_phone = "(04) 9876 5432"
     entities.update(self.test_entity.id, new_name, new_email, new_phone)
     entity = Entity.get(Entity.id == self.test_entity.id)
     self.assertEqual(entity.name, new_name)
     self.assertEqual(entity.email, new_email)
     self.assertEqual(entity.phone, new_phone)
Esempio n. 7
0
 def setUp(self):
     self.type = 2
     self.email = "*****@*****.**"
     self.entity = Entity.get(Entity.id == entities.create("Jane Doe", self.email, ""))
     self.amount = 1234
     self.entity = self.entity
     self.method = 0
     self.is_donation = True
     self.notes = "For services rendered"
     self.reference = "yx92s3"
Esempio n. 8
0
    def test_create(self):
        entity_id = entities.create(self.test_entity.name,
                                    self.test_entity.email,
                                    self.test_entity.phone)
        entity = Entity.get(Entity.id == entity_id)

        self.assertNotEqual(entity.id, self.test_entity.id)
        self.assertEqual(entity.name, self.test_entity.name)
        self.assertEqual(entity.email, self.test_entity.email)
        self.assertEqual(entity.phone, self.test_entity.phone)
        entity.delete_instance()
Esempio n. 9
0
    def test_create(self):
        entity_id = entities.create(self.test_entity.name,
                                    self.test_entity.email,
                                    self.test_entity.phone)
        entity = Entity.get(Entity.id == entity_id)

        self.assertNotEqual(entity.id, self.test_entity.id)
        self.assertEqual(entity.name, self.test_entity.name)
        self.assertEqual(entity.email, self.test_entity.email)
        self.assertEqual(entity.phone, self.test_entity.phone)
        entity.delete_instance()
Esempio n. 10
0
def validate(amount, email, method, type, notes, reference):
    errors = []

    if not amount or not re.match("^[0-9]*(\.[0-9]{2}|\.[0-9]|)$", amount):
        errors.append("Sorry, you need to provide a valid amount.")
    if not re.match("[^@\s]+@[^@\s]+", email):
        errors.append("Sorry, you need to provide a valid email address.")
    else:  # Valid email, so check that they're a member
        try:
            Entity.get(Entity.email == email)
        except DoesNotExist:
            errors.append("Sorry, you need to provide a valid member's email address.")
    if not type or not type.isdigit() or int(type) > 2:
        errors.append("Sorry, you need to provide a valid payment type.")
    if not method or not method.isdigit() or int(method) > 2:
        errors.append("Sorry, you need to provide a valid payment method.")
    if not reference:
        errors.append("Sorry, you need to provide a reference.")

    return errors
Esempio n. 11
0
    def test_active_member(self):

        self.assertTrue(self.test_member.active_member(),
                        'member agreement is current')
        new_agreement_date = date.today() - timedelta(days=500)
        members.update(self.test_member.id, self.test_member.name,
                       self.test_member.email, self.test_member.phone,
                       self.test_member.joined_date, new_agreement_date,
                       self.test_member.is_keyholder)
        member = Entity.get(Entity.id == self.test_member.id)
        self.assertFalse(member.active_member(),
                         'member agreement not current')
Esempio n. 12
0
 def test_update(self):
     new_name = "Joe Flanders"
     new_email = "*****@*****.**"
     new_phone = "(04) 9876 5432"
     entities.update(self.test_entity.id,
                     new_name,
                     new_email,
                     new_phone)
     entity = Entity.get(Entity.id == self.test_entity.id)
     self.assertEqual(entity.name, new_name)
     self.assertEqual(entity.email, new_email)
     self.assertEqual(entity.phone, new_phone)
Esempio n. 13
0
    def test_active_member(self):

        self.assertTrue(self.test_member.active_member(),
                        'member agreement is current')
        new_agreement_date = date.today()-timedelta(days=500)
        members.update(self.test_member.id,
                       self.test_member.name,
                       self.test_member.email,
                       self.test_member.phone,
                       self.test_member.joined_date,
                       new_agreement_date,
                       self.test_member.is_keyholder)
        member = Entity.get(Entity.id == self.test_member.id)
        self.assertFalse(member.active_member(), 'member agreement not current')
Esempio n. 14
0
def create(amount, email, method, type, notes, reference):

    # Create payment
    payment = Payment()
    payment.time = datetime.now()
    payment.entity = Entity.get(Entity.email == email)
    payment.amount = amount
    payment.source = method
    payment.is_donation = type != 0
    payment.notes = notes
    if method == 0:  # Bank transfer
        payment.bank_reference = reference
    payment.pending = True
    payment.save()
Esempio n. 15
0
    def test_create(self):
        member_id = members.create(self.test_member.name,
                                   self.test_member.email,
                                   self.test_member.phone,
                                   self.test_member.joined_date,
                                   self.test_member.agreement_date,
                                   self.test_member.is_keyholder)
        member = Entity.get(Entity.id == member_id)

        self.assertNotEqual(member.id, self.test_member.id)
        self.assertEqual(member.name, self.test_member.name)
        self.assertEqual(member.email, self.test_member.email)
        self.assertEqual(member.phone, self.test_member.phone)
        self.assertEqual(member.joined_date, self.test_member.joined_date)
        self.assertEqual(member.agreement_date,
                         self.test_member.agreement_date)
        self.assertEqual(member.is_keyholder, self.test_member.is_keyholder)
        member.delete_instance()

        member_id = members.create(self.test_member.name,
                                   self.test_member.email,
                                   self.test_member.phone, None,
                                   self.test_member.agreement_date,
                                   self.test_member.is_keyholder)
        member = Entity.get(Entity.id == member_id)
        self.assertEqual(member.joined_date, date.today())
        member.delete_instance()

        member_id = members.create(self.test_member.name,
                                   self.test_member.email,
                                   self.test_member.phone,
                                   self.test_member.joined_date, None,
                                   self.test_member.is_keyholder)
        member = Entity.get(Entity.id == member_id)
        self.assertEqual(member.agreement_date, date.today())
        member.delete_instance()
Esempio n. 16
0
 def test_update(self):
     new_name = "Joe Flanders"
     new_email = "*****@*****.**"
     new_phone = "(04) 9876 5432"
     new_joined_date = date.today() - timedelta(days=7)
     new_agreement_date = date.today() - timedelta(days=6)
     new_is_keyholder = True
     members.update(self.test_member.id, new_name, new_email, new_phone,
                    new_joined_date, new_agreement_date, new_is_keyholder)
     member = Entity.get(Entity.id == self.test_member.id)
     self.assertEqual(member.name, new_name)
     self.assertEqual(member.email, new_email)
     self.assertEqual(member.phone, new_phone)
     self.assertEqual(member.joined_date, new_joined_date)
     self.assertEqual(member.agreement_date, new_agreement_date)
     self.assertEqual(member.is_keyholder, new_is_keyholder)
Esempio n. 17
0
def update(member_id, name, email, phone, joined_date=None, agreement_date=None,
           is_keyholder=False):
    member = Entity.get((Entity.id == member_id) & Entity.is_member)
    member.name = name
    member.email = email.lower()
    member.phone = phone
    if joined_date is not None:
        member.joined_date = joined_date
    if agreement_date is not None:
        member.agreement_date = agreement_date
    if is_keyholder is None:
        member.is_keyholder = False
    else:
        member.is_keyholder = is_keyholder

    return member.save()
Esempio n. 18
0
def update(member_id, name, email, phone, joined_date=None, agreement_date=None,
           is_keyholder=False):
    member = Entity.get((Entity.id == member_id) & Entity.is_member)
    member.name = name
    member.email = email
    member.phone = phone
    if joined_date is not None:
        member.joined_date = joined_date
    if agreement_date is not None:
        member.agreement_date = agreement_date
    if is_keyholder is None:
        member.is_keyholder = False
    else:
        member.is_keyholder = is_keyholder

    return member.save()
Esempio n. 19
0
 def test_update(self):
     new_name = "Joe Flanders"
     new_email = "*****@*****.**"
     new_phone = "(04) 9876 5432"
     new_joined_date = date.today()-timedelta(days=7)
     new_agreement_date = date.today()-timedelta(days=6)
     members.update(self.test_member.id,
                    new_name,
                    new_email,
                    new_phone,
                    new_joined_date,
                    new_agreement_date)
     member = Entity.get(Entity.id == self.test_member.id)
     self.assertEqual(member.name, new_name)
     self.assertEqual(member.email, new_email)
     self.assertEqual(member.phone, new_phone)
     self.assertEqual(member.joined_date, new_joined_date)
     self.assertEqual(member.agreement_date, new_agreement_date)
Esempio n. 20
0
def create_token(email):
    member = Entity.get((fn.Lower(Entity.email) == email.lower()) & Entity.is_member)
    member.token = __generate_token()
    member.token_expiry = datetime.now() + timedelta(hours=24)
    member.save()
    return member.token
Esempio n. 21
0
def get(member_id):
    try:
        return Entity.get((Entity.id == member_id) & Entity.is_member)
    except DoesNotExist:
        return None
Esempio n. 22
0
def invalidate_token(id):
    member = Entity.get(Entity.id == id)
    member.token = None
    member.token_expiry = None
    member.save()
Esempio n. 23
0
def create_token(email):
    member = Entity.get((Entity.email == email) & Entity.is_member)
    member.token = __generate_token()
    member.token_expiry = datetime.now() + timedelta(hours=24)
    member.save()
    return member.token
Esempio n. 24
0
def get(member_id):
    try:
        return Entity.get((Entity.id == member_id) & Entity.is_member)
    except DoesNotExist:
        return None
Esempio n. 25
0
def invalidate_token(id):
    member = Entity.get(Entity.id == id)
    member.token = None
    member.token_expiry = None
    member.save()
Esempio n. 26
0
def update(entity_id, name, email, phone):
    entity = Entity.get(Entity.id == entity_id)
    entity.name = name
    entity.email = email
    entity.phone = phone
    entity.save()
Esempio n. 27
0
def get(entity_id):
    try:
        return Entity.get(Entity.id == entity_id)
    except DoesNotExist:
        return None