Exemple #1
0
def dashboard():
    """Show PyBossa Dashboard."""
    try:
        active_users_last_week = dashb.format_users_week()
        active_anon_last_week = dashb.format_anon_week()
        new_projects_last_week = dashb.format_new_projects()
        update_projects_last_week = dashb.format_update_projects()
        new_tasks_week = dashb.format_new_tasks()
        new_task_runs_week = dashb.format_new_task_runs()
        new_users_week = dashb.format_new_users()
        returning_users_week = dashb.format_returning_users()
        update_feed = get_update_feed()

        return render_template('admin/dashboard.html',
                               title=gettext('Dashboard'),
                               active_users_last_week=active_users_last_week,
                               active_anon_last_week=active_anon_last_week,
                               new_projects_last_week=new_projects_last_week,
                               update_projects_last_week=update_projects_last_week,
                               new_tasks_week=new_tasks_week,
                               new_task_runs_week=new_task_runs_week,
                               new_users_week=new_users_week,
                               returning_users_week=returning_users_week,
                               update_feed=update_feed,
                               wait=False)
    except ProgrammingError:
        db.slave_session.rollback()
        return render_template('admin/dashboard.html',
                               title=gettext('Dashboard'),
                               wait=True)
    def test_max_limit(self):
        """Test ACTIVITY FEED limit works."""
        ProjectFactory.create_batch(101)

        update_feed = get_update_feed()
        err_msg = "There should be at max 100 updates."
        assert len(update_feed) == 100, err_msg
    def test_max_limit(self):
        """Test ACTIVITY FEED limit works."""
        ProjectFactory.create_batch(101)

        update_feed = get_update_feed()
        err_msg = "There should be at max 100 updates."
        assert len(update_feed) == 100, err_msg
    def test_max_limit(self):
        """Test ACTIVITY FEED limit works."""
        for i in range(0, 105):
            app = AppFactory.create()

        update_feed = get_update_feed()
        err_msg = "There should be at max 100 updates."
        print len(update_feed)
        assert len(update_feed) == 100, err_msg
 def test_user_creation(self):
     """Test ACTIVITY FEED works for User creation."""
     user = UserFactory.create()
     update_feed = get_update_feed()
     err_msg = "It should be the same user"
     assert update_feed[0]['fullname'] == user.fullname, err_msg
     assert update_feed[0]['name'] == user.name, err_msg
     # assert update_feed[0].get('info') is not None, err_msg
     err_msg = "The update action should be User"
     assert update_feed[0]['action_updated'] == 'User', err_msg
 def test_user_creation(self):
     """Test ACTIVITY FEED works for User creation."""
     user = UserFactory.create()
     update_feed = get_update_feed()
     err_msg = "It should be the same user"
     assert update_feed[0]['fullname'] == user.fullname, err_msg
     assert update_feed[0]['name'] == user.name, err_msg
     # assert update_feed[0].get('info') is not None, err_msg
     err_msg = "The update action should be User"
     assert update_feed[0]['action_updated'] == 'User', err_msg
 def test_project_creation(self):
     """Test ACTIVITY FEED works for project creation."""
     project = ProjectFactory.create()
     update_feed = get_update_feed()
     err_msg = "It should be the same project"
     assert update_feed[0]['id'] == project.id, err_msg
     assert update_feed[0]['name'] == project.name, err_msg
     assert update_feed[0]['short_name'] == project.short_name, err_msg
     # assert update_feed[0].get('info') is None, err_msg
     err_msg = "The update action should be Project"
     assert update_feed[0]['action_updated'] == 'Project', err_msg
 def test_task_creation(self):
     """Test ACTIVITY FEED works for task creation."""
     task = TaskFactory.create()
     update_feed = get_update_feed()
     err_msg = "It should be the task"
     assert update_feed[0]['id'] == task.project_id, err_msg
     assert update_feed[0]['name'] == task.project.name, err_msg
     assert update_feed[0]['short_name'] == task.project.short_name, err_msg
     # assert update_feed[0].get('info') is not None, err_msg
     err_msg = "The update action should be Project"
     assert update_feed[0]['action_updated'] == 'Task', err_msg
 def test_task_creation(self):
     """Test ACTIVITY FEED works for task creation."""
     task = TaskFactory.create()
     update_feed = get_update_feed()
     err_msg = "It should be the task"
     assert update_feed[0]['id'] == task.project_id, err_msg
     assert update_feed[0]['name'] == task.project.name, err_msg
     assert update_feed[0]['short_name'] == task.project.short_name, err_msg
     assert update_feed[0].get('info') is not None, err_msg
     err_msg = "The update action should be Project"
     assert update_feed[0]['action_updated'] == 'Task', err_msg
 def test_blogpost_creation(self):
     """Test ACTIVITY FEED works for blog post creation."""
     blogpost = BlogpostFactory.create()
     update_feed = get_update_feed()
     err_msg = "It should be the blog post"
     assert update_feed[0]['id'] == blogpost.project_id, err_msg
     assert update_feed[0]['name'] == blogpost.project.name, err_msg
     assert update_feed[0]['short_name'] == blogpost.project.short_name, err_msg
     assert update_feed[0].get('info') is not None, err_msg
     err_msg = "The update action should be Project"
     assert update_feed[0]['action_updated'] == 'Blog', err_msg
 def test_project_creation(self):
     """Test ACTIVITY FEED works for project creation."""
     project = ProjectFactory.create()
     update_feed = get_update_feed()
     err_msg = "It should be the same project"
     assert update_feed[0]['id'] == project.id, err_msg
     assert update_feed[0]['name'] == project.name, err_msg
     assert update_feed[0]['short_name'] == project.short_name, err_msg
     assert update_feed[0].get('info') is None, err_msg
     err_msg = "The update action should be Project"
     assert update_feed[0]['action_updated'] == 'Project', err_msg
 def test_blogpost_creation(self):
     """Test ACTIVITY FEED works for blog post creation."""
     blogpost = BlogpostFactory.create()
     update_feed = get_update_feed()
     err_msg = "It should be the blog post"
     assert update_feed[0]['id'] == blogpost.project_id, err_msg
     assert update_feed[0]['name'] == blogpost.project.name, err_msg
     assert update_feed[0]['short_name'] == blogpost.project.short_name, err_msg
     # assert update_feed[0].get('info') is not None, err_msg
     err_msg = "The update action should be Project"
     assert update_feed[0]['action_updated'] == 'Blog', err_msg
 def test_taskrun_creation(self):
     """Test ACTIVITY FEED works for task_run creation."""
     task_run = TaskRunFactory.create()
     update_feed = get_update_feed()
     err_msg = "It should be the same task_run"
     assert update_feed[0]['name'] == task_run.user.name, err_msg
     assert update_feed[0]['fullname'] == task_run.user.fullname, err_msg
     assert update_feed[0]['project_name'] == task_run.project.name, err_msg
     assert update_feed[0]['project_short_name'] == task_run.project.short_name, err_msg
     # assert update_feed[0].get('info') is not None, err_msg
     err_msg = "The update action should be Project"
     assert update_feed[0]['action_updated'] == 'UserContribution', err_msg
 def test_taskrun_creation_state_completed(self):
     """Test ACTIVITY FEED works for task_run creation state completed."""
     task = TaskFactory.create(n_answers=1)
     task_run = TaskRunFactory.create(task=task)
     update_feed = get_update_feed()
     err_msg = "It should be the same task_run"
     assert update_feed[0]['id'] == task_run.project.id, err_msg
     assert update_feed[0]['name'] == task_run.project.name, err_msg
     assert update_feed[0]['short_name'] == task_run.project.short_name, err_msg
     assert update_feed[0].get('info') is not None, err_msg
     err_msg = "The update action should be Project"
     assert update_feed[0]['action_updated'] == 'TaskCompleted', err_msg
 def test_taskrun_creation_state_completed(self):
     """Test ACTIVITY FEED works for task_run creation state completed."""
     task = TaskFactory.create(n_answers=1)
     task_run = TaskRunFactory.create(task=task)
     update_feed = get_update_feed()
     err_msg = "It should be the same task_run"
     assert update_feed[0]['id'] == task_run.project.id, err_msg
     assert update_feed[0]['name'] == task_run.project.name, err_msg
     assert update_feed[0]['short_name'] == task_run.project.short_name, err_msg
     # assert update_feed[0].get('info') is not None, err_msg
     err_msg = "The update action should be Project"
     assert update_feed[0]['action_updated'] == 'TaskCompleted', err_msg
 def test_taskrun_creation(self):
     """Test ACTIVITY FEED works for task_run creation."""
     task_run = TaskRunFactory.create()
     update_feed = get_update_feed()
     err_msg = "It should be the same task_run"
     assert update_feed[0]['id'] == task_run.user.id, err_msg
     assert update_feed[0]['name'] == task_run.user.name, err_msg
     assert update_feed[0]['fullname'] == task_run.user.fullname, err_msg
     assert update_feed[0]['project_name'] == task_run.project.name, err_msg
     assert update_feed[0]['project_short_name'] == task_run.project.short_name, err_msg
     # assert update_feed[0].get('info') is not None, err_msg
     err_msg = "The update action should be Project"
     assert update_feed[0]['action_updated'] == 'UserContribution', err_msg
Exemple #17
0
def dashboard():
    """Show PyBossa Dashboard."""
    try:
        if request.args.get('refresh') == '1':
            db_jobs = get_dashboard_jobs()
            for j in db_jobs:
                DASHBOARD_QUEUE.enqueue(j['name'])
            msg = gettext('Dashboard jobs enqueued,'
                          ' refresh page in a few minutes')
            flash(msg)
        active_users_last_week = dashb.format_users_week()
        active_anon_last_week = dashb.format_anon_week()
        new_projects_last_week = dashb.format_new_projects()
        update_projects_last_week = dashb.format_update_projects()
        new_tasks_week = dashb.format_new_tasks()
        new_task_runs_week = dashb.format_new_task_runs()
        new_users_week = dashb.format_new_users()
        returning_users_week = dashb.format_returning_users()
        update_feed = get_update_feed()

        return render_template(
            'admin/dashboard.html',
            title=gettext('Dashboard'),
            active_users_last_week=active_users_last_week,
            active_anon_last_week=active_anon_last_week,
            new_projects_last_week=new_projects_last_week,
            update_projects_last_week=update_projects_last_week,
            new_tasks_week=new_tasks_week,
            new_task_runs_week=new_task_runs_week,
            new_users_week=new_users_week,
            returning_users_week=returning_users_week,
            update_feed=update_feed,
            wait=False)
    except ProgrammingError as e:
        return render_template('admin/dashboard.html',
                               title=gettext('Dashboard'),
                               wait=True)
    except Exception as e:  # pragma: no cover
        current_app.logger.error(e)
        return abort(500)
Exemple #18
0
def dashboard():
    """Show PyBossa Dashboard."""
    try:
        if request.args.get('refresh') == '1':
            db_jobs = get_dashboard_jobs()
            for j in db_jobs:
                DASHBOARD_QUEUE.enqueue(j['name'])
            msg = gettext('Dashboard jobs enqueued,'
                          ' refresh page in a few minutes')
            flash(msg)
        active_users_last_week = dashb.format_users_week()
        active_anon_last_week = dashb.format_anon_week()
        new_projects_last_week = dashb.format_new_projects()
        update_projects_last_week = dashb.format_update_projects()
        new_tasks_week = dashb.format_new_tasks()
        new_task_runs_week = dashb.format_new_task_runs()
        new_users_week = dashb.format_new_users()
        returning_users_week = dashb.format_returning_users()
        update_feed = get_update_feed()

        return render_template('admin/dashboard.html',
                               title=gettext('Dashboard'),
                               active_users_last_week=active_users_last_week,
                               active_anon_last_week=active_anon_last_week,
                               new_projects_last_week=new_projects_last_week,
                               update_projects_last_week=update_projects_last_week,
                               new_tasks_week=new_tasks_week,
                               new_task_runs_week=new_task_runs_week,
                               new_users_week=new_users_week,
                               returning_users_week=returning_users_week,
                               update_feed=update_feed,
                               wait=False)
    except ProgrammingError as e:
        return render_template('admin/dashboard.html',
                               title=gettext('Dashboard'),
                               wait=True)
    except Exception as e:  # pragma: no cover
        current_app.logger.error(e)
        return abort(500)