Download the PHP package tyhand/document-downloader-bundle without Composer
On this page you can find all versions of the php package tyhand/document-downloader-bundle. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download tyhand/document-downloader-bundle
More information about tyhand/document-downloader-bundle
Files in tyhand/document-downloader-bundle
Package document-downloader-bundle
Short Description A quick lazy and somewhat useless bundle to handle download links to static pdf files
License MIT
Informations about the package document-downloader-bundle
Document Downloader Bundle
A quick, lazy, and somewhat useless bundle to provide a quicker way to produce links to a static pdf document while providing some minor security.
Installing
First add the project to your Symfony project's composer.json, which can be done via the command line like the following.
Next, add the bundle to your project's AppKernel.php in the register bundles method.
Next, since this bundle has a controller action, you need to include the bundle's routing file into the project's main routing file.
Finally, the bundle needs a path to the file containing the list of documents. By default the bundle will look for it at app/config/file_list.yml. If you desire the document list file to be there then installation of the bundle is complete; However, if you need the file list to be elsewhere you add a config option to change the location such as the following.
Usage
Basic
To create a link to a static document, first add the document to the file list yaml.
Then in the twig file where you want to have a link to the document use the twig function provided in the bundle to create something along the lines of the following.
Restricting By Roles
There are two ways to restrict by roles, 'allow' and 'deny'. Allow sets a list of roles that a user needs at least one of to retrieve the document; Whereas Deny sets a list of roles that if the user has any of them then they cannot retrieve the document.
For example, if given the following example config:
A user with the roles ['ROLE_USER', 'ROLE_SUPERVISOR'] can view both documents, but a user with the roles ['ROLE_USER'] can only view the my_pdf document. If the link to supervisor_notice was somehow visible to the user without the supervisor role, a 403 will be returned if they try to retrieve it.
Another example this time for deny:
In this case any user with 'ROLE_SUPERVISOR' cannot view the document.
Currently the 'allow' option and the 'deny' option cannot be used at the same time for a single file.