Ejemplo n.º 1
0
 def remove_user_dropdown(self):
     self.group_members = database.get_group_members(manager.CURRENT_GROUP)
     for user in self.group_members:
         self.dropdown.add_widget(HoverButton(text=user[0],
                                          button_up=DD_DCHRC[0],
                                          button_down=DD_DCHRC[1],
                                          font_size=12,
                                          size=(180,30),
                                          size_hint=(None,None),
                                          on_release=self.select_user))
Ejemplo n.º 2
0
 def add_user_dropdown(self, instance):
     all_users = database.get_all_users()
     current_group = database.get_group_members(manager.CURRENT_GROUP)
     members = []
     for member in current_group:
         members.append(member[0])
     for user in all_users:
         if user not in members:
             self.num_not_in_group += 1
             user_tog = UserToggle(user)
             self.dropdown.add_widget(user_tog)
Ejemplo n.º 3
0
 def modify_priority_dropdown(self):
     group_members = database.get_group_members(manager.CURRENT_GROUP)
     for user in group_members:
         member_button = HoverButton(text=user[0],
                                     button_up=DD_DCHRC[0],
                                     button_down=DD_DCHRC[1],
                                     font_size=12,
                                     size=(180, 30),
                                     size_hint=(None, None),
                                     on_release=self.select_user_to_mod)
         member_button.priority = user[1]
         self.dropdown.add_widget(member_button)
Ejemplo n.º 4
0
def email_group(group_id):
    try:
        # Check if we are logged in this session.
        if not session['logged_in']:
            abort(401)

        group_name = database.get_group(group_id)['name']
        members = database.get_group_members(group_name)
        mail_service.send_information_email(group_id, members)
        flash('Email sent')
        return show_groups()

    except KeyError:
        # Visualize for the user that something went wrong.
        flash('You need to be logged in to view that page')
        return redirect(url_for('home'))
Ejemplo n.º 5
0
def show_groups():
    try:
        # Check if we are logged in this session.
        if not session['logged_in']:
            abort(401)

        group_list = database.get_groups()
        group_member_lists = dict()  # Create a dictionary with (key, value) being (group_name, members)
        for group in group_list:
            # For each group: add a list of its members
            group_member_lists[group['name']] = database.get_group_members(group['name'])
        return render_template('show_groups.html', groups=group_list, member_lists=group_member_lists)

    except KeyError:
        # Visualize for the user that something went wrong.
        flash('You need to be logged in to view that page')
        return redirect(url_for('home'))
Ejemplo n.º 6
0
    def display_group_info(self, group):
        manager.CURRENT_GROUP = group
        editable = manager.ADMIN
        manager.menu.show_searched_groups()
        self.clear()
        self.layout.add_widget(
            Label(text=(group), color=(1, 1, 1, 1), font_size=25))
        self.layout.add_widget(
            Label(text=("Group Members:"), color=(1, 1, 1, .6), font_size=18))
        group_members = database.get_group_members(group)
        self.layout.add_widget(
            Label(text=("Username:                       Priority: "),
                  color=(1, 1, 1, .6),
                  font_size=15,
                  pos_hint={"center_x": .5}))
        num_other_members = 0
        for member in group_members:
            if member[0] == manager.LOGGED_IN or manager.ADMIN:
                self.create_member_label(member)
            else:
                num_other_members += 1
        if not manager.ADMIN:
            message = "+" + str(num_other_members) + " additional group member"
            if num_other_members != 1:
                message += 's'
            self.layout.add_widget(
                Label(text=message,
                      color=(1, 1, 1, .6),
                      font_size=14,
                      pos_hint={"center_x": .5}))

        attr_layout = RelativeLayout(size=(100, 30), size_hint=(1, None))
        self.layout.add_widget(attr_layout)
        self.layout.add_widget(
            Label(text=("Group Attributes:"),
                  color=(1, 1, 1, .6),
                  font_size=18))
        for attr in database.get_group_attrs(group):
            self.create_attr_label(attr, editable, True)
Ejemplo n.º 7
0
def get_group_members(group_name):
    members = database.get_group_members(group_name)
    return jsonify({'members': members})