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))
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)
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)
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'))
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'))
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)
def get_group_members(group_name): members = database.get_group_members(group_name) return jsonify({'members': members})