def _get_filtered_projects(): projects = ProjectList(localdata.getProjectsXML()) current_user = flask_helper.safe_session("user_id") user_projects = listify(localdata.get_cached_data(current_user)) projects = remove_private_projects(projects, user_projects) projects = filter_on_ids(projects, config.ignore) return remove_private_projects(projects, user_projects)
def overview(): current_user = flask_helper.safe_session("user_id") projects = _get_filtered_projects() possible_states = config.states("tracker") project_ids = list_ids(projects) stories = _stories_for(project_ids) in_progress_ids = ids_for_in_progress(stories) stories = keep_by_ids(stories, in_progress_ids) stories = prettify_stories(stories) stories = add_project_names(stories, projects) return render_template("index.html", projects=projects, user=current_user, states=possible_states, stories=stories)
def project(project_id): current_user = flask_helper.safe_session("user_id") project_list = _get_filtered_projects() project_found = find_project(project_list, str(project_id)) if project_found == None: return redirect(url_for("overview")) project_id = str(project_id) burndown = Burndown(project_id, localdata.getBurndownStates(project_id)) labels = burndown_labels(burndown) possible_states = config.states("tracker") return render_template("project.html", project=project_found, labels=labels, states=possible_states)