def jstree_organisations(self):
        """ """
        jstree, organisations = [], {}
        site = self.getSite()
        meeting_config = meeting_module.get_config()
        meeting_obs = site.getCatalogedObjectsCheckView(meta_type=meeting_config['meta_type'], approved=1)

        for i, meeting in enumerate(meeting_obs):
            for uid in meeting.participants.uids:
                organisation = getUserOrganisation(site, uid)
                if organisation not in organisations:
                    organisations[organisation] = {}
                if i not in organisations[organisation]:
                    organisations[organisation][i] = []
                organisations[organisation][i].append(uid)

        for organisation, values in organisations.iteritems():
            meeting_nodes = []
            for i, uids in values.iteritems():
                meeting = meeting_obs[i]

                user_nodes = []
                for uid in uids:
                    name = getUserFullName(site, uid)
                    user_node = {'data':
                                        {'title': name,
                                        'icon': self.participant_icon,
                                        'attributes':
                                            {'href': ''}
                                        }}
                    email = getUserEmail(site, uid)
                    if email is not None:
                        href = 'mailto:' + email
                        user_node['data']['attributes']['href'] = href
                    user_nodes.append(user_node)

                title = meeting.title_or_id()
                href = meeting.absolute_url()
                meeting_nodes.append({'data':
                                        {'title': title,
                                        'icon': meeting.icon,
                                        'attributes':
                                            {'href': href}},
                                    'children': user_nodes})


            jstree.append({'data':
                                {'title': organisation,
                                'icon': self.organisation_icon
                            },
                            'children': meeting_nodes
                        })
        return json.dumps(jstree)
Beispiel #2
0
    def jstree_participants(self):
        """ """
        jstree, participants = [], {}
        site = self.getSite()
        meeting_config = meeting_module.get_config()
        meeting_obs = site.getCatalogedObjectsCheckView(
            meta_type=meeting_config['meta_type'], approved=1)

        for meeting_ob in meeting_obs:
            for uid in meeting_ob.participants.get_participants():
                if uid not in participants:
                    participants[uid] = []
                participants[uid].append(meeting_ob)

        for uid, meetings_part in participants.iteritems():
            meeting_nodes = []
            for meeting_ob in meetings_part:
                title = meeting_ob.title_or_id()
                icon = meeting_ob.icon
                href = meeting_ob.absolute_url()
                meeting_nodes.append({
                    'data': {
                        'title': title,
                        'icon': icon,
                        'attributes': {
                            'href': href
                        }
                    }
                })

            name = getUserFullName(site, uid)
            icon = self.participant_icon
            user_node = {
                'data': {
                    'title': name,
                    'icon': icon,
                    'attributes': {
                        'href': ''
                    }
                },
                'children': meeting_nodes
            }
            email = getUserEmail(site, uid)
            if email is not None:
                href = 'mailto:' + email
                user_node['data']['attributes'] = {'href': href}
            jstree.append(user_node)

        return json.dumps(jstree)
    def jstree_participants(self):
        """ """
        jstree, participants = [], {}
        site = self.getSite()
        meeting_config = meeting_module.get_config()
        meeting_obs = site.getCatalogedObjectsCheckView(meta_type=meeting_config['meta_type'], approved=1)

        for meeting_ob in meeting_obs:
            for uid in meeting_ob.participants.uids:
                if uid not in participants:
                    participants[uid] = []
                participants[uid].append(meeting_ob)

        for uid, meetings_part in participants.iteritems():
            meeting_nodes = []
            for meeting_ob in meetings_part:
                title = meeting_ob.title_or_id()
                icon = meeting_ob.icon
                href = meeting_ob.absolute_url()
                meeting_nodes.append({'data':
                                            {'title': title,
                                             'icon': icon,
                                             'attributes':
                                                     {'href': href}
                                    }})

            name = getUserFullName(site, uid)
            icon = self.participant_icon
            user_node = {'data':
                                {'title': name,
                                 'icon': icon,
                                 'attributes':
                                    {'href': ''}
                                },
                            'children': meeting_nodes}
            email = getUserEmail(site, uid)
            if email is not None:
                href = 'mailto:' + email
                user_node['data']['attributes'] = {'href': href}
            jstree.append(user_node)

        return json.dumps(jstree)
Beispiel #4
0
    def jstree_organizations(self):
        """ """
        jstree, organizations = [], {}
        site = self.getSite()
        meeting_config = meeting_module.get_config()
        meeting_obs = site.getCatalogedObjectsCheckView(
            meta_type=meeting_config['meta_type'], approved=1)

        for i, meeting in enumerate(meeting_obs):
            for uid in meeting.participants.get_participants():
                organization = getUserOrganization(site, uid)
                if organization not in organizations:
                    organizations[organization] = {}
                if i not in organizations[organization]:
                    organizations[organization][i] = []
                organizations[organization][i].append(uid)

        for organization, values in organizations.iteritems():
            meeting_nodes = []
            for i, uids in values.iteritems():
                meeting = meeting_obs[i]

                user_nodes = []
                for uid in uids:
                    name = getUserFullName(site, uid)
                    user_node = {
                        'data': {
                            'title': name,
                            'icon': self.participant_icon,
                            'attributes': {
                                'href': ''
                            }
                        }
                    }
                    email = getUserEmail(site, uid)
                    if email is not None:
                        href = 'mailto:' + email
                        user_node['data']['attributes']['href'] = href
                    user_nodes.append(user_node)

                title = meeting.title_or_id()
                href = meeting.absolute_url()
                meeting_nodes.append({
                    'data': {
                        'title': title,
                        'icon': meeting.icon,
                        'attributes': {
                            'href': href
                        }
                    },
                    'children': user_nodes
                })

            jstree.append({
                'data': {
                    'title': organization,
                    'icon': self.organization_icon
                },
                'children': meeting_nodes
            })
        return json.dumps(jstree)