Esempio n. 1
0
    def __init__(self, parent, query, batch_size=10, container=None):
        super(IdeaPager, self).__init__(query, batch_size)
        self.container = container
        if parent:
            self.bind_parent(parent)

        self.content = component.Component(None)
        self.challenge_excerpt = component.Component(None)
        self.display_date = 'publication_date'
        self.filters = self.get_default_filters()
        self.filters_by_name = dict((f.name, f) for f in self.filters)
        self.sort_criteria = self.get_default_sort_criteria()

        self._filter_state = None
        self._filter_period = None
        self._filter_challenge = None
        self._filter_domain = None
        self._order = None
        self._transform = None

        self.menu_items = [
            (_(u"Last published"), 'last_published', None, '',
             self.last_published),
            (_(u"Progressing"), 'progressing_ideas', None, '',
             self.progressing_ideas),
            (_(u"Most viewed"), 'most_viewed', None, '', self.most_viewed),
            (_(u"Launched ideas"), 'launched_ideas', None, '',
             self.launched_ideas),
        ]

        self.menu = component.Component(Menu(self.menu_items),
                                        model='tab_renderer')
        self.menu.on_answer(self.select_tab)
        self.select_tab(0)
Esempio n. 2
0
    def __init__(self, idea):
        super(WorkflowSection, self).__init__()
        self.idea_id = idea if is_integer(idea) else idea.id

        self.switching_menu = component.Component(
            WorkflowMenu(self.idea_id, switching_actions))
        event_management._register_listener(self, self.switching_menu())

        recommendation_legend = _L(
            u'After my appraisal i can propose two kinds of suggestion:')
        self.recommendation_menu = component.Component(
            WorkflowMenu(self.idea_id, recommendation_actions,
                         recommendation_legend))
        event_management._register_listener(self, self.recommendation_menu())

        self.evaluation_menu = component.Component(EvaluationMenu(
            self.idea_id))

        self.tabs = (('switching', _L(u'My actions'), self.switching_menu),
                     ('evaluation', _L(u"My evaluation"),
                      self.evaluation_menu), ('recommendation',
                                              _L(u"My recommendation"),
                                              self.recommendation_menu))
        self.selected_tab = editor.Property('switching')

        self.menu_items = [(label, name, None, '', None)
                           for name, label, action in self.filtered_tabs]

        self.menu = component.Component(Menu([], self.filter_menu),
                                        model='tab_renderer')
        self.menu.on_answer(self.select_tab)

        if self.menu_items:
            self.select_tab(0)
Esempio n. 3
0
    def __init__(self, items=None):
        self.items = items
        self.menu = component.Component(Menu(self.items), model='slider')
        self.menu.on_answer(self.select_slide)

        self.content = component.Component(None)

        self.select_slide(0)
Esempio n. 4
0
    def __init__(self, tabs=None, default_tab=0):
        super(TabContainer, self).__init__()
        self.tabs = tabs or []
        self.content = component.Component(Empty(), model='tab_bar')

        self.menu = component.Component(Menu([e[0] for e in self.tabs]))
        self.menu.on_answer(self.select_tab)

        self.select_tab(default_tab)
Esempio n. 5
0
    def __init__(self, parent, batch_size=10):
        super(SuggestionsPager, self).__init__(self._query, batch_size)
        event_management._register_listener(parent, self)

        self.selected_tab = var.Var('all')

        self.menu_items = [(_(u'All suggestions'), 'all', _(u'Show all suggestions'), '', None),
                           (_(u'Processed and deployed'), 'treated', _(u'Show processed and deployed suggestions'), '', None),
                           (_(u'In progress'), 'running', _(u'Show suggestions in progress'), '', None),
                           (_(u'Rejected'), 'rejected', _(u'Show the rejected suggestions'), '', None),
                           ]

        self.menu = component.Component(Menu(self.menu_items),
                                        model='tab_renderer')
        self.menu.on_answer(self.select_tab)
        self.select_tab(0)
Esempio n. 6
0
    def __init__(self, idea):

        self.idea = idea

        self.message = _('Report idea #%s as duplicated') % self.idea.id

        self.choices = [(DuplicateIdeaEditor,
                         _('This idea is already submitted')),
                        (DirectionIdeaEditor,
                         _('This idea is already carried on by a direction'))]

        self.report = component.Component(self, model='report')

        self.menu = component.Component(Menu([elt[1] for elt in self.choices]))
        self.menu.on_answer(self.show_form)

        self.form = component.Component(None)
Esempio n. 7
0
    def __init__(self, parent, idea):
        event_management._register_listener(parent, self)

        self.id = idea if is_integer(idea) else idea.id
        self.display_date = 'publication_date'

        self.comment_pager = component.Component(CommentPager(self))
        self.comment_creator = component.Component(
            CommentCreator(self, self.id))
        self.comment_creator.on_answer(lambda a: self.comments_updated())

        self.wf_context = component.Component(IdeaWFContext(self.id))
        event_management._register_listener(self, self.wf_context())
        self.workflow_section = component.Component(WorkflowSection(self.id))
        event_management._register_listener(self, self.workflow_section())

        self.selected_tab = var.Var('')

        self.menu_items = []

        if self.has_comments():
            nb_comments = self.get_nb_comments()
            self.menu_items.append(
                (_N(u"Comment (%d)", u"Comments (%d)", nb_comments) %
                 nb_comments, 'comments', None, '', None))

        if self.has_challenge():
            self.menu_items.append(
                (_(u"Challenge"), 'challenge', None, '', None))

        if self.has_tags():
            self.menu_items.append((_(u"Tags"), 'tags', None, '', None))

        self.menu = component.Component(Menu(self.menu_items),
                                        model='tab_renderer')
        self.menu.on_answer(self.select_tab)
        self.select_default_tab()

        self._navigate_to_element = None
        self._comment_submit_id = generate_id('comment-submit')

        self.display_full_description = var.Var(False)
Esempio n. 8
0
    def __init__(self,
                 pager,
                 model=None,
                 title=None,
                 ok_button=None,
                 css_class=None,
                 menu_items=None):
        super(PagerBox, self).__init__(pager, model, title,
                                       'pagerBox ' + (css_class or ''))
        self.ok_button = ok_button

        self.menu = component.Component(None)

        if menu_items:
            self.items = menu_items
            self.menu.becomes(Menu([label for label, action in self.items]),
                              model='challenges')
            self.menu.on_answer(self.select_item)

            self.select_item(0)
Esempio n. 9
0
    def __init__(self, parent, configuration):
        self.parent = parent
        self.configuration = configuration
        self.models_by_tab = {
            'ideas': configuration['tabs']['ideas'],
            'users': configuration['tabs']['users']
        }

        event_management._register_listener(self.parent, self)
        self.active_tab = var.Var('')
        self.ideas_progress = component.Component(IdeasProgress(self.parent))
        self.ideas_on_alert = component.Component(IdeasOnAlert(self.parent))

        self.menu_items = [
            (_(u'Ideas Stats'), 'ideas', None, '', None),
            (_(u'Users Stats'), 'users', None, '', None),
        ]
        self.menu = component.Component(Menu(self.menu_items),
                                        model='tab_renderer')
        self.menu.on_answer(self.select_tab)
        self.select_tab(0)
Esempio n. 10
0
    def initial_setup(self):

        poll = get_all_enabled_polls().first()
        if poll:
            self.poll = component.Component(Poll(poll.id))
        else:
            self.poll = component.Component(None)

        self.locale_box.becomes(LocaleChoice())

        self.idea_submit.becomes(SubmitIdeaBox(self))
        self.search.becomes(SearchBlock(self))

        self.idea_chart.becomes(IdeaBarChart(self))

        self.welcome.becomes(Welcome(self))
        self.online_shop.becomes(OnlineShop(self))
        self.faq.becomes(FAQ(self))
        self.terms_of_use.becomes(TermsOfUse(self))

        self.login_box.becomes(Login())

        # Note: setup done here because we need to access the current user and check the
        #       permissions in order to setup the component but they are not available when
        #       the Portal component is created.

        # password change modal dialog
        current_user = get_current_user()
        if current_user and current_user.should_change_password():
            self.show_password_editor(current_user)

        current_user = get_current_user()
        if current_user:
            self.login_box.becomes(User(self, current_user),
                                   model='login_status')

        self.menu_items = [
            (_(u'home'), _(u"Go to the home page"), 'home', self.show_home),
            (_(u'news'), None, 'news', self.show_articles_by_type),
            (_(u'challenge'), _(u"View, comment and vote for challenge ideas"),
             'challenges', self.show_challenge_ideas),
            (_(u'ideas'), _(u"View, comment and vote for ideas"), 'ideas',
             self.show_ideas),
        ]

        self.menu_items.extend([
            (_(u"discover eurêka"), None, 'welcome', self.show_welcome),
            (_(u'gifts'), None, 'shop', self.show_shop),
            (_(u'help'), None, 'help', self.show_help),
            (_(u'contact us'), None, 'contact_us', self.show_contact)
        ])

        self.menu.becomes(Menu(self.menu_items), model='list')

        self.footer_menu_items = [
            (_(u'Help'), None, 'help', self.show_help),
            (_(u'Suggestions'), None, 'improvements', self.show_suggestions),
            (_(u'Terms of use'), None, 'terms_of_use', self.show_terms_of_use),
        ]
        self.footer_menu.becomes(Menu(self.footer_menu_items), model='links')

        # initial the content if necessary (that is, when no presentation.init_for rule was
        # called)
        if not self.content():
            self.select_tab(0)