Fix resource show, document creation/edition

pull/3064/head
Julio Montoya 6 years ago
parent 847693c465
commit 9b21382ff1
  1. 22
      src/CoreBundle/Controller/ResourceController.php
  2. 11
      src/CoreBundle/Repository/ResourceRepository.php
  3. 22
      src/ThemeBundle/Resources/views/Resource/show.html.twig

@ -392,11 +392,18 @@ class ResourceController extends AbstractResourceController implements CourseCon
public function showAction(Request $request): Response
{
$this->setBreadCrumb($request);
$nodeId = $request->get('id');
$em = $this->getDoctrine();
$repository = $this->getRepositoryFromRequest($request);
$id = $request->get('id');
$resourceNode = $em->getRepository('ChamiloCoreBundle:Resource\ResourceNode')->find($id);
/** @var AbstractResource $resource */
$resource = $repository->getRepository()->findOneBy(['resourceNode' => $nodeId]);
if (null === $resource) {
throw new NotFoundHttpException();
}
$resourceNode = $resource->getResourceNode();
if (null === $resourceNode) {
throw new NotFoundHttpException();
@ -412,7 +419,7 @@ class ResourceController extends AbstractResourceController implements CourseCon
$type = $request->get('type');
$params = [
'resource_node' => $resourceNode,
'resource' => $resource,
'tool' => $tool,
'type' => $type,
];
@ -825,15 +832,14 @@ class ResourceController extends AbstractResourceController implements CourseCon
$file = null;
if ($fileType === 'file') {
$content = $form->get('content')->getViewData();
$fileName = $newResource->getTitle().'.html';
$newResource->setTitle($newResource->getTitle().'.html');
$fileName = $newResource->getTitle();
$handle = tmpfile();
fwrite($handle, $content);
$meta = stream_get_meta_data($handle);
$file = new UploadedFile($meta['uri'], $fileName, null, null, true);
$em->persist($newResource);
//$em->flush();
}
$resourceNode = $repository->createNodeForResource($newResource, $this->getUser(), $parentNode, $file);

@ -258,7 +258,10 @@ class ResourceRepository extends EntityRepository
$resourceName = $resource->getResourceName();
if ($resourceNode->hasResourceFile()) {
$originalExtension = pathinfo($resourceName, PATHINFO_EXTENSION);
$resourceFile = $resourceNode->getResourceFile();
$originalName = $resourceFile->getOriginalName();
$originalExtension = pathinfo($originalName, PATHINFO_EXTENSION);
$originalBasename = \basename($resourceName, $originalExtension);
$slug = sprintf(
'%s.%s',
@ -266,11 +269,9 @@ class ResourceRepository extends EntityRepository
$this->slugify->slugify($originalExtension)
);
$resourceFile = $resourceNode->getResourceFile();
$originalName = $resourceFile->getOriginalName();
$originalExtension = pathinfo($originalName, PATHINFO_EXTENSION);
$newOriginalName = sprintf('%s.%s', $resourceName, $originalExtension);
$resourceFile->setOriginalName($newOriginalName);
$em->persist($resourceFile);
} else {
$slug = $this->slugify->slugify($resourceName);
@ -330,7 +331,7 @@ class ResourceRepository extends EntityRepository
$parent = $parent->getResourceNode();
}
return $this->addResourceNodeParent($resource, $creator, $parent);
return $this->createNodeForResource($resource, $creator, $parent);
}
/**

@ -2,16 +2,16 @@
{% block content %}
{% autoescape false %}
<h3>{{ resource_node.name }} </h3>
<h3>{{ resource }} </h3>
{# Type: {{ resource_node.resourceType }}<br />#}
{% if resource_node.resourceFile %}
{% if resource_node.isResourceFileAnImage %}
{% if resource.resourceNode.resourceFile %}
{% if resource.resourceNode.isResourceFileAnImage %}
Preview:
<br />
<img src=
"{{ url(
'chamilo_core_resource_file', {id: resource_node.id, 'type' : type, 'tool' : tool, 'filter' : 'resource_show_preview'}
'chamilo_core_resource_file', {id: resource.resourceNode.id, 'type' : type, 'tool' : tool, 'filter' : 'resource_show_preview'}
) }}"
/>
{% else %}
@ -19,20 +19,20 @@
{% endif %}
<br />
Download original file:
<a href="{{ url('chamilo_core_resource_file', {id: resource_node.id, 'type' : type, 'tool' : tool, 'mode' : 'download'} ) }}">
{{ resource_node.resourceFile }}
File:
<a href="{{ url('chamilo_core_resource_file', {id: resource.resourceNode.id, 'type' : type, 'tool' : tool, 'mode' : 'download'} ) }}">
{{ resource.resourceNode.slug }}
</a>
<br />
Size: {{ resource_node.resourceFile.size }}
Size: {{ resource.resourceNode.resourceFile.size }}
<br /><br />
{% endif %}
Updated at: {{ resource_node.updatedAt | date_to_time_ago }}
Updated at: {{ resource.resourceNode.updatedAt | date_to_time_ago }}
<br />
Created at: {{ resource_node.createdAt | date_to_time_ago }}<br />
Created at: {{ resource.resourceNode.createdAt | date_to_time_ago }}<br />
<br />
Creator: {{ resource_node.creator }}
Creator: {{ resource.resourceNode.creator }}
{% endautoescape %}
{% endblock %}

Loading…
Cancel
Save