Skip to content

Commit

Permalink
Merge pull request #121 from nyuhsl/bugfix/check-if-related-dataset-u…
Browse files Browse the repository at this point in the history
…npublished

Use controller to check if related datasets should be publicly visible
  • Loading branch information
ianlamb77 authored Feb 27, 2019
2 parents febd8d3 + c1fd2cb commit d0537b0
Show file tree
Hide file tree
Showing 6 changed files with 46 additions and 62 deletions.
1 change: 0 additions & 1 deletion app/Resources/views/default/related_dataset_link.html.twig

This file was deleted.

11 changes: 11 additions & 0 deletions app/Resources/views/default/related_dataset_links.html.twig
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<dt>Related Datasets</dt>
<dd id="related-datasets">
{% for related in relatedDatasets %}
<div class="multiple-item-list">
<a target="_blank" href="{{ path('view_dataset',{'uid':related.dataset.datasetUid}) }}">{{ related.dataset.title }}</a>
{% if related.relationshipNotes is defined %}
<p class="related-dataset-note">{{ related.relationshipNotes }}</p>
{% endif %}
</div>
{% endfor %}
</dd>
18 changes: 2 additions & 16 deletions app/Resources/views/default/view_dataset.html.twig
Original file line number Diff line number Diff line change
Expand Up @@ -207,22 +207,8 @@
<dd><a target="_blank" href="{{ dataset.pubmedSearch }}">View articles which use this dataset</a></dd>

{% if (dataset.relatedDatasets.count > 0) %}
<dt>Related Datasets</dt>
<dd id="related-datasets">
{% for related in dataset.relatedDatasets %}
<div class="multiple-item-list">
{{ render(controller('AppBundle:RelatedDataset:relatedDataset',{'id':related.relatedDatasetUid})) }}
{% if related.relationshipNotes %}
<p class="related-dataset-note">{{ related.relationshipNotes }}</p>
{% endif %}
</div>
{% endfor %}
</dd>
{% if (related.relationshipNotes is defined) %}
<dt>Related Dataset - Note</dt>
<dd>{{ related.relationshipNotes }}</dd>
{% endif %}
{% endif %}
{{ render(controller('AppBundle:RelatedDataset:relatedDataset',{'relatedDatasets':dataset.relatedDatasets})) }}
{% endif %}
</dl>
</div>
</div>
Expand Down
18 changes: 2 additions & 16 deletions app/Resources/views/default/view_dataset_external.html.twig
Original file line number Diff line number Diff line change
Expand Up @@ -433,22 +433,8 @@ $(function () {
{% endif %}

{% if (dataset.relatedDatasets.count > 0) %}
<dt>Related Datasets</dt>
<dd id="related-datasets">
{% for related in dataset.relatedDatasets %}
<div class="multiple-item-list">
{{ render(controller('AppBundle:RelatedDataset:relatedDataset',{'id':related.relatedDatasetUid})) }}
{% if related.relationshipNotes %}
<p class="related-dataset-note">{{ related.relationshipNotes }}</p>
{% endif %}
</div>
{% endfor %}
</dd>
{% if (related.relationshipNotes is defined) %}
<dt>Related Dataset - Note</dt>
<dd>{{ related.relationshipNotes }}</dd>
{% endif %}
{% endif %}
{{ render(controller('AppBundle:RelatedDataset:relatedDataset',{'relatedDatasets':dataset.relatedDatasets})) }}
{% endif %}
</dl>
</div>
</div>
Expand Down
18 changes: 2 additions & 16 deletions app/Resources/views/default/view_dataset_internal.html.twig
Original file line number Diff line number Diff line change
Expand Up @@ -410,22 +410,8 @@ $(function () {
{% endif %}

{% if (dataset.relatedDatasets.count > 0) %}
<dt>Related Datasets</dt>
<dd id="related-datasets">
{% for related in dataset.relatedDatasets %}
<div class="multiple-item-list">
{{ render(controller('AppBundle:RelatedDataset:relatedDataset',{'id':related.relatedDatasetUid})) }}
{% if related.relationshipNotes %}
<p class="related-dataset-note">{{ related.relationshipNotes }}</p>
{% endif %}
</div>
{% endfor %}
</dd>
{% if (related.relationshipNotes is defined) %}
<dt>Related Dataset - Note</dt>
<dd>{{ related.relationshipNotes }}</dd>
{% endif %}
{% endif %}
{{ render(controller('AppBundle:RelatedDataset:relatedDataset',{'relatedDatasets':dataset.relatedDatasets})) }}
{% endif %}
</dl>
</div>
</div>
Expand Down
42 changes: 29 additions & 13 deletions src/AppBundle/Controller/RelatedDatasetController.php
Original file line number Diff line number Diff line change
Expand Up @@ -33,27 +33,43 @@
class RelatedDatasetController extends Controller
{
/**
* Return the rendered title and slug of a dataset given an ID
* Given a list of related datasets, fetch ones that are publicly-visible,
* and render a list for display in a dataset record
*
* @param int|string $id A dataset's UID
*
* @return Response A Response instance
*/
public function relatedDatasetAction($id) {
public function relatedDatasetAction($relatedDatasets) {

$em = $this->getDoctrine()->getManager();
$em = $this->getDoctrine()->getManager()->getRepository('AppBundle:Dataset');;

$dataset = $em->getRepository('AppBundle:Dataset')
->findOneBy(array('dataset_uid'=>$id));

return $this->render('default/related_dataset_link.html.twig',array(
'title' => $dataset->getTitle(),
'uid' => $dataset->getDatasetUid(),
'slug'=> $dataset->getSlug(),
));
$datasetsForDisplay = array();
foreach ($relatedDatasets as $related) {
// find dataset IF it is published AND not archived
$relatedDataset = $em->findOneBy(array(
'dataset_uid' => $related->getRelatedDatasetUid(),
'published' => 1,
'archived' => 0
));
if ($relatedDataset) {
$section = array('dataset' => $relatedDataset);
$notes = $related->getRelationshipNotes();
if ($notes) {
$section['relationshipNotes'] = $notes;
}
$datasetsForDisplay[] = $section;
}
}

if ($datasetsForDisplay) {
return $this->render('default/related_dataset_links.html.twig',array(
'relatedDatasets' => $datasetsForDisplay,
));
} else {
// return empty response so the "Related Datasets" field will not appear
return new Response();
}
}



}

0 comments on commit d0537b0

Please sign in to comment.