Ejemplo n.º 1
0
def url_params(request):
    from common.helpers.front_end import get_page_path_parameters
    path_args = get_page_path_parameters(request.path)
    url_args = request.GET.urlencode()
    return merge_dicts(
        path_args,
        urlparse.parse_qs(url_args, keep_blank_values=0, strict_parsing=0))
Ejemplo n.º 2
0
    def _projects_tag_counts(event=None, group=None):
        from civictechprojects.models import Project, ProjectPosition
        projects = None
        if event is not None:
            projects = event.get_linked_projects()
        elif group is not None:
            projects = group.get_group_projects()
        else:
            projects = Project.objects.filter(is_searchable=True)
        issues, technologies, stage, organization, organization_type, positions = [], [], [], [], [], []
        if projects:
            for project in projects:
                issues += project.project_issue_area.slugs()
                technologies += project.project_technologies.slugs()
                stage += project.project_stage.slugs()
                organization += project.project_organization.slugs()
                organization_type += project.project_organization_type.slugs()

                project_positions = ProjectPosition.objects.filter(
                    position_project=project.id)
                positions += map(
                    lambda position: position.position_role.slugs()[0],
                    project_positions)

            return merge_dicts(Counter(issues), Counter(technologies),
                               Counter(stage), Counter(organization),
                               Counter(organization_type), Counter(positions))
Ejemplo n.º 3
0
    def hydrate_to_project_tile_json(self):
        list_json = {
            'project_relationship_id': self.id,
            'relationship_is_approved': self.is_approved
        }
        list_json = merge_dicts(
            list_json, self.relationship_project.hydrate_to_tile_json())

        return list_json
Ejemplo n.º 4
0
    def hydrate_to_list_json(self):
        list_json = {
            'project_relationship_id': self.id,
            'relationship_is_approved': self.is_approved
        }
        if self.is_group_relationship():
            list_json = merge_dicts(
                list_json, self.relationship_group.hydrate_to_list_json())

        return list_json
Ejemplo n.º 5
0
def handle500(request):
    exception_type, exception, traceback = sys.exc_info()
    if isinstance(exception, ReportableError):
        # Log message
        print("Error(500): " + exception.message)
        error_args = merge_dicts(exception.front_end_args, {'errorType': type(exception).__name__})
        # Redirect to Error page
        return redirect(section_url(FrontEndSection.Error, error_args))
    else:
        return redirect(section_url(FrontEndSection.Error))
Ejemplo n.º 6
0
def _projects_tag_counts():
    projects = Project.objects.filter(is_searchable=True)
    issues, technologies, stage, organization, organization_type, positions = [], [], [], [], [], []
    if projects:
        for project in projects:
            issues += project.project_issue_area.slugs()
            technologies += project.project_technologies.slugs()
            stage += project.project_stage.slugs()
            organization += project.project_organization.slugs()
            organization_type += project.project_organization_type.slugs()

            project_positions = ProjectPosition.objects.filter(position_project=project.id)
            positions += map(lambda position: position.position_role.slugs()[0], project_positions)

        return merge_dicts(Counter(issues), Counter(technologies), Counter(stage), Counter(organization), Counter(organization_type), Counter(positions))
Ejemplo n.º 7
0
 def test_merge_dicts(self):
     dict_a = {'a': 1, 'b': 2}
     dict_b = {'b': 2, 'c': 3}
     self.assertEqual({'a': 1, 'b': 2, 'c': 3}, merge_dicts(dict_a, dict_b))
Ejemplo n.º 8
0
 def hydrate_project_volunteer_info(self):
     volunteer_json = self.to_json()
     project_json = self.project.hydrate_to_list_json()
     return merge_dicts(volunteer_json, project_json)