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.""" 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_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
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)
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)