Beispiel #1
0
    def perform(action, sole_id, user_id):
        """ Email the group about a person joining or leaving the group
        """
        sole, course, users = get_sole_course_and_user_information(sole_id, user_id)
        if not (sole and course and users):
            return
        
        # create email
        params = {
            'actor_name': users[user_id].get('name'),
            'course_name': course.get('name'),
            'day': format_date_readable_with_ordinal(date_parse(sole.get(Sole.A_DAY))),
            'time': sole.get(Sole.A_TIME),
            'address': sole.get(Sole.A_ADDRESS),
            'action': action
        }
        member_list = []
        if action == "joined":
            for k, v in users.iteritems():
                member_list.append(v)
        else:
            for k, v in users.iteritems():
                if k != user_id:
                    member_list.append(v)
        members = ', '.join(m.get('name') for m in member_list)
        params['members'] = members
        params['num_members'] = len(member_list)
        if len(member_list) == 0:
            return

        to = [m.get('email') for m in member_list]
        subject = "Re: %(course_name)s, on %(day)s %(time)s" % params
        text = """Hello, 

%(actor_name)s has just %(action)s this study session.
Your group now has %(num_members)s members: %(members)s

Teply-all to chat with your fellow students, or to set up a specific time and place to meet.

A reminder:
You're meeting on %(day)s %(time)s
Near %(address)s

Have a good meeting,
Massively Offline
Learning is more fun together
        """
        text = text % params

        send(to, subject, text)
Beispiel #2
0
    def perform(sole_id):
        """ Email the creator of a sole about its creation
        """
        sole, course, users = get_sole_course_and_user_information(sole_id)
        if not (sole and course and users):
            return

        user_id = sole.get(Sole.A_USER_ID)
        user = users[user_id]

        params = {
            'course_name': course.get('name'),
            'day': format_date_readable_with_ordinal(date_parse(sole.get(Sole.A_DAY))),
            'time': format_possible_sole_time(sole.get(Sole.A_TIME)),
            'address': sole.get(Sole.A_ADDRESS),
            'first_name': user.get('first_name')
        }

        to = user.get('email')
        subject = "%(course_name)s, on %(day)s %(time)s" % params
        text = """Hello %(first_name)s, 

Your study session has been set up.

We'll let you know via email when others join this session.

A reminder:
You're meeting on %(day)s %(time)s
Near %(address)s

Have fun,
Massively Offline
Learning is more fun together
        """
        text = text % params

        send(to, subject, text)