def to_json(self): return { 'id': self.id, 'description': self.position_description, 'descriptionUrl': self.description_url, 'roleTag': Tag.hydrate_to_json(self.id, self.position_role.all().values())[0] }
def get_issue_areas(self): project_relationships = ProjectRelationship.objects.filter( relationship_event=self.id) project_ids = list( map(lambda relationship: relationship.relationship_project.id, project_relationships)) project_list = Project.objects.filter(id__in=project_ids) return [ Tag.hydrate_to_json( project.id, list(project.project_issue_area.all().values())) for project in project_list ]
def hydrate_to_tile_json(self): files = ProjectFile.objects.filter(file_project=self.id) thumbnail_files = list(files.filter(file_category=FileCategory.THUMBNAIL.value)) positions = ProjectPosition.objects.filter(position_project=self.id) project = { 'project_id': self.id, 'project_name': self.project_name, 'project_creator': self.project_creator.id, 'project_description': self.project_short_description if self.project_short_description else self.project_description, 'project_url': self.project_url, 'project_location': self.project_location, 'project_issue_area': Tag.hydrate_to_json(self.id, list(self.project_issue_area.all().values())), 'project_stage': Tag.hydrate_to_json(self.id, list(self.project_stage.all().values())), 'project_positions': list(map(lambda position: position.to_json(), positions)), 'project_date_modified': self.project_date_modified.__str__() } if len(thumbnail_files) > 0: project['project_thumbnail'] = thumbnail_files[0].to_json() return project
def hydrate_to_json(self): files = ProjectFile.objects.filter(file_project=self.id) thumbnail_files = list(files.filter(file_category=FileCategory.THUMBNAIL.value)) other_files = list(files.filter(file_category=FileCategory.ETC.value)) links = ProjectLink.objects.filter(link_project=self.id) positions = ProjectPosition.objects.filter(position_project=self.id) volunteers = VolunteerRelation.objects.filter(project=self.id) commits = ProjectCommit.objects.filter(commit_project=self.id).order_by('-commit_date')[:20] project = { 'project_id': self.id, 'project_name': self.project_name, 'project_creator': self.project_creator.id, 'project_claimed': not self.project_creator.is_admin_contributor(), 'project_approved': self.is_searchable, 'project_description': self.project_description, 'project_description_solution': self.project_description_solution, 'project_description_actions': self.project_description_actions, 'project_short_description': self.project_short_description, 'project_url': self.project_url, 'project_location': self.project_location, 'project_organization': Tag.hydrate_to_json(self.id, list(self.project_organization.all().values())), 'project_organization_type': Tag.hydrate_to_json(self.id, list(self.project_organization_type.all().values())), 'project_issue_area': Tag.hydrate_to_json(self.id, list(self.project_issue_area.all().values())), 'project_stage': Tag.hydrate_to_json(self.id, list(self.project_stage.all().values())), 'project_technologies': Tag.hydrate_to_json(self.id, list(self.project_technologies.all().values())), 'project_positions': list(map(lambda position: position.to_json(), positions)), 'project_files': list(map(lambda file: file.to_json(), other_files)), 'project_links': list(map(lambda link: link.to_json(), links)), 'project_commits': list(map(lambda commit: commit.to_json(), commits)), 'project_owners': [self.project_creator.hydrate_to_tile_json()], 'project_volunteers': list(map(lambda volunteer: volunteer.to_json(), volunteers)), 'project_date_modified': self.project_date_modified.__str__() } if len(thumbnail_files) > 0: project['project_thumbnail'] = thumbnail_files[0].to_json() return project
def hydrate_to_json(self): projects = ProjectRelationship.objects.filter( relationship_event=self.id) files = ProjectFile.objects.filter(file_event=self.id) thumbnail_files = list( files.filter(file_category=FileCategory.THUMBNAIL.value)) other_files = list(files.filter(file_category=FileCategory.ETC.value)) event = { 'event_agenda': self.event_agenda, 'event_creator': self.event_creator.id, 'event_date_end': self.event_date_end.__str__(), 'event_date_modified': self.event_date_modified.__str__(), 'event_date_start': self.event_date_start.__str__(), 'event_description': self.event_description, 'event_files': list(map(lambda file: file.to_json(), other_files)), 'event_id': self.id, 'event_location': self.event_location, 'event_rsvp_url': self.event_rsvp_url, 'event_live_id': self.event_live_id, 'event_name': self.event_name, 'event_owners': [self.event_creator.hydrate_to_tile_json()], 'event_short_description': self.event_short_description, 'event_legacy_organization': Tag.hydrate_to_json( self.id, list(self.event_legacy_organization.all().values())), } if len(projects) > 0: event['event_projects'] = list( map( lambda project: project.relationship_project. hydrate_to_tile_json(), projects)) if len(thumbnail_files) > 0: event['event_thumbnail'] = thumbnail_files[0].to_json() return event
def to_json(self): volunteer = self.volunteer volunteer_json = { 'application_id': self.id, 'user': volunteer.hydrate_to_tile_json(), 'application_text': self.application_text, 'application_date': self.application_date.__str__(), 'platform_date_joined': volunteer.date_joined.__str__(), 'roleTag': Tag.hydrate_to_json(volunteer.id, self.role.all().values())[0], 'isApproved': self.is_approved, 'isCoOwner': self.is_co_owner, 'isUpForRenewal': self.is_up_for_renewal(), 'projectedEndDate': self.projected_end_date.__str__() } return volunteer_json
def hydrate_to_json(self): links = civictechprojects.models.ProjectLink.objects.filter( link_user=self.id) files = civictechprojects.models.ProjectFile.objects.filter( file_user=self.id) other_files = list( filter( lambda file: file.file_category != civictechprojects.models. FileCategory.THUMBNAIL.value, files)) user = { 'id': self.id, 'email': self.email, 'first_name': self.first_name, 'last_name': self.last_name, 'about_me': self.about_me, 'country': self.country, 'postal_code': self.postal_code, 'user_technologies': Tag.hydrate_to_json(self.id, list(self.user_technologies.all().values())), 'user_links': list(map(lambda link: link.to_json(), links)), 'user_files': list(map(lambda file: file.to_json(), other_files)), } thumbnail_files = list( files.filter(file_category=civictechprojects.models.FileCategory. THUMBNAIL.value)) if len(thumbnail_files) > 0: user['user_thumbnail'] = thumbnail_files[0].to_json() return user
def to_json(self): volunteer = self.volunteer # TODO: Add end date and application date volunteer_json = { 'application_id': self.id, 'user': volunteer.hydrate_to_tile_json(), 'application_text': self.application_text, 'roleTag': Tag.hydrate_to_json(volunteer.id, self.role.all().values())[0], 'isApproved': self.is_approved, 'isCoOwner': self.is_co_owner } return volunteer_json
def hydrate_to_json(self): files = ProjectFile.objects.filter(file_project=self.id) thumbnail_files = list(files.filter(file_category=FileCategory.THUMBNAIL.value)) other_files = list(files.filter(file_category=FileCategory.ETC.value)) links = ProjectLink.objects.filter(link_project=self.id) project = { 'project_id': self.id, 'project_name': self.project_name, 'project_creator': self.project_creator.id, 'project_description': self.project_description, 'project_url': self.project_url, 'project_location': self.project_location, 'project_issue_area': Tag.hydrate_to_json(list(self.project_issue_area.all().values())), 'project_files': list(map(lambda file: file.to_json(), other_files)), 'project_links': list(map(lambda link: link.to_json(), links)) } if len(thumbnail_files) > 0: project['project_thumbnail'] = thumbnail_files[0].to_json() return project