webundle / puzzle-admin-bundle
Manage dashboard
Installs: 2
Dependents: 6
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 0
Open Issues: 0
Language:JavaScript
Type:symfony-bundle
Requires
- php: >=5.5.9
- coresphere/console-bundle: ^0.5.0
- dg/rss-php: ^1.3
- doctrine/doctrine-bundle: ^1.6
- doctrine/orm: ^2.5
- friendsofsymfony/jsrouting-bundle: ^2.2
- incenteev/composer-parameter-handler: ^2.0
- jimmiw/php-time-ago: ^3.0
- jms/job-queue-bundle: ^2.0
- jms/security-extra-bundle: ^1.6
- knplabs/doctrine-behaviors: ~1.1
- knplabs/knp-paginator-bundle: ^2.7
- liip/imagine-bundle: ^2.1
- mpdf/mpdf: ^7.0
- nelexa/zip: ^3.1
- pagerfanta/pagerfanta: ^2.1
- sensio/distribution-bundle: ^5.0.19
- sensio/framework-extra-bundle: ^5.0.0
- setasign/fpdf: ^1.8
- symfony/assetic-bundle: ^2.8
- symfony/monolog-bundle: ^3.1.0
- symfony/polyfill-apcu: ^1.0
- symfony/swiftmailer-bundle: ^2.6.4
- symfony/symfony: 3.4.*
- twig/twig: ^1.0||^2.0
- webchemistry/invoice: ^1.1
- webundle/puzzle-media-bundle: ^1.0
- webundle/puzzle-user-bundle: ^1.0
This package is auto-updated.
Last update: 2024-11-29 03:38:44 UTC
README
Symfony project.
Installation
Open a command console, enter your project directory and execute the following command to download the latest stable version of this bundle:
composer require webundle/puzzle-admin-bundle
Step 1: Enable bundles
Enable admin bundle by adding it to the list of registered bundles in the app/AppKernel.php
file of your project:
<?php // app/AppKernel.php // ... class AppKernel extends Kernel { public function registerBundles() { $bundles = array( // ... new Symfony\Bundle\FrameworkBundle\FrameworkBundle(), new Symfony\Bundle\SecurityBundle\SecurityBundle(), new Symfony\Bundle\TwigBundle\TwigBundle(), new Symfony\Bundle\MonologBundle\MonologBundle(), new Symfony\Bundle\SwiftmailerBundle\SwiftmailerBundle(), new Doctrine\Bundle\DoctrineBundle\DoctrineBundle(), new Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle(), new JMS\DiExtraBundle\JMSDiExtraBundle($this), new JMS\AopBundle\JMSAopBundle(), new JMS\SecurityExtraBundle\JMSSecurityExtraBundle(), new Knp\Bundle\PaginatorBundle\KnpPaginatorBundle(), new Knp\DoctrineBehaviors\Bundle\DoctrineBehaviorsBundle(), new Symfony\Bundle\AsseticBundle\AsseticBundle(), new FOS\JsRoutingBundle\FOSJsRoutingBundle(), new Puzzle\AdminBundle\AdminBundle(), ); // ... } // ... }
Step 2: Define hosts values
Defined hosts values by adding it in the app/config/parameters.yml
file of your project:
paremeters: ... host: <hostname> admin_host: 'admin.%host%' # or %host% if you don't use subdomain admin_prefix: '/' # or /admin/ if with you don't use subdomain
Step 3: Security
Configure security by adding it in the app/config/security.yml
file of your project:
security: ... role_hierarchy: ROLE_ADMIN: ROLE_USER ROLE_SUPER_ADMIN: [ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH] firewalls: admin_login: pattern: ^%admi_prefix%login$ anonymous: ~ admin: entry_point: admin.security.authentication_entry_point pattern: '^%admin_prefix%' host: '%admin_host%' provider: chain_provider access_denied_handler: security.access_denied_handler form_login: check_path: login_check login_path: admin_login success_handler: security.authentication_success_handler failure_handler: security.authentication_failure_handler csrf_token_generator: security.csrf.token_manager logout: path: /logout target: admin_homepage delete_cookies: REMEMBERME: { path: null, domain: null} remember_me: secret: "%secret%" lifetime: 84400 path: admin_homepage domain: ~ always_remember_me: true ... access_control: - {path: ^%admin_prefix%login, roles: IS_AUTHENTICATED_ANONYMOUSLY } - {path: ^%admin_prefix%, host: "%admin_host%", roles: ROLE_ADMIN }
Step 4: Register default routes
Register default routes by adding it in the app/config/routing.yml
file of your project:
.... admin: resource: "@AdminBundle/Resources/config/routing.yml" host: '%admin_host%' options: expose: true fos_js_routing: resource: "@FOSJsRoutingBundle/Resources/config/routing/routing.xml"
Step 5: Install bower components
Overwrite, bower install folder by creating .bowerrc
file in project folder root and typing into it:
.... { "directory": "vendor/webundle/puzzle-admin-bundle/Puzzle/AdminBundle/Resources/public/libs/" }
Create bower.json
file in project folder root and copy into it:
.... { "name": "webundle-puzzle-admin", "version": "1.0.0", "authors": [ "tzd" ], "description": "Webundle project", "main": [ "index.php", "assets/less/main.less", "assets/js/altair_admin_common.js" ], "keywords": [ "admin", "panel", "material", "design", "dashboard" ], "license": "http://themeforest.net/licenses", "homepage": "http://webundle.com", "private": true, "ignore": [ "**/.*", "node_modules", "bower_components", "test", "tests" ], "dependencies": { "autosize": "~3.0.8", "c3js-chart": "~0.4.10", "clndr": "~1.2.14", "codemirror": "~5.5.0", "countUp.js": "~1.5.3", "d3": "<=3.5.5", "datatables": "~1.10.7", "datatables-colvis": "~1.1.2", "datatables-tabletools": "~2.2.4", "dense": "*", "fastclick": "~1.0.6", "fitvids": "~1.1.0", "fullcalendar": "~2.3.2", "handlebars": "~3.0.3", "ionrangeslider": "~2.0.12", "jquery": "~2.1", "jquery-icheck": "~1.0.2", "jquery-mapael": "~1.0.1", "jquery-mousewheel": "~3.1.13", "jquery.dotdotdot": "~1.7.3", "jquery.inputmask": "~3.1.63", "jquery.easy-pie-chart": "~2.1.6", "jquery.scrollbar": "~0.2.7", "jquery-ui": "~1.11.4", "kendo-ui-core": "~2015.2.720", "magnific-popup": "~1.0.0", "maplace.js": "~0.1.33", "marked": "~0.3.3", "metrics-graphics": "~2.6.0", "modernizr": "~2.8.3", "moment": "~2.10.3", "parsleyjs": "~2.1.2", "peity": "~3.2.0", "prism": "gh-pages", "selectize": "~0.12.1", "switchery": "~0.8.1", "uikit": "~2.21.0", "velocity": "~1.2.1", "weather-icons": "~1.3.2", "jquery.actual": "~1.0.16", "jquery-bez": "~1.0.11", "waypoints": "~3.1.1", "materialize-tags": "^1.2.3", "fontawesome": "^4.0", "jquery-typeahead": "^2.10.6", "ckeditor": "^4.11.4" }, "resolutions": { "jquery": "~2.1", "fastclick": "~1.0.6" } }
In project folder root, install bower components by typing it in CLI:
bower install
Step 6: Default configurations
Configure admin bundle by adding it in the app/config/config.yml
file of your project:
imports: - { resource: parameters.yml } - { resource: security.yml } parameters: locale: fr framework: #esi: ~ # default_locale: fr translator: fallbacks: ["%locale%"] secret: "%secret%" router: resource: "%kernel.root_dir%/config/routing.yml" strict_requirements: ~ form: ~ csrf_protection: ~ validation: { enable_annotations: true } #serializer: { enable_annotations: true } templating: engines: ['twig'] default_locale: "%locale%" trusted_hosts: ~ trusted_proxies: ~ session: handler_id: ~ fragments: ~ http_method_override: true assets: version: 2 version_format: '%%s?version=%%s' base_path: ~ # Twig Configuration twig: debug: "%kernel.debug%" strict_variables: "%kernel.debug%" paths: '%kernel.root_dir%/../web': template # Assetic Configuration assetic: debug: "%kernel.debug%" use_controller: false java: /usr/bin/java filters: cssrewrite: ~ # Doctrine Configuration doctrine: dbal: driver: pdo_mysql host: "%database_host%" port: "%database_port%" dbname: "%database_name%" user: "%database_user%" password: "%database_password%" charset: UTF8 orm: auto_generate_proxy_classes: "%kernel.debug%" naming_strategy: doctrine.orm.naming_strategy.underscore auto_mapping: true # Swiftmailer Configuration swiftmailer: transport: "%mailer_transport%" host: "%mailer_host%" username: "%mailer_user%" password: "%mailer_password%" spool: { type: memory } # Knp Paginator knp_paginator: page_range: 5 # default page range used in pagination control default_options: page_name: page # page query parameter name sort_field_name: sort # sort field query parameter name sort_direction_name: direction # sort direction query parameter name distinct: true # ensure distinct results, useful when ORM queries are using GROUP BY statements # filter_field_name: filterField # filter field query parameter name # filter_value_name: filterValue # filter value query parameter name template: pagination: AppBundle:Pagination:sliding.html.twig # sliding pagination controls template sortable: AppBundle:Pagination:sortable_link.html.twig # sort link template filtration: AppBundle:Pagination:filtration.html.twig # filters template # Knp Doctrine Behaviors knp_doctrine_behaviors: blameable: true geocodable: ~ # Here null is converted to false loggable: ~ timestampable: true sluggable: true soft_deletable: true # Liip liip_imagine : ... filter_sets : ... # Logo naviagtion logo_navigation : quality : 100 filters : thumbnail : { size : [100, 100], mode : outbound } # Admin Configuration admin: website: title: 'Lorem ipsum dolor' # Customize with your own admin name description: 'Lorem ipsum dolor' # Customize with your own admin description email: 'johndoe@exemple.ci' # Customize with your own admin email time_format: "H:i" # customize time format see php.net time format date_format: "d-m-Y" # customize date format see php.net date format modules_available: 'admin' navigation: nodes: dashboard: label: 'admin.dashboard.navigation' translation_domain: 'admin' path: admin_homepage attr: class: 'fa fa-home' # customize icon class parent: ~ user_roles: ['ROLE_ADMIN']
Step 7: Launch admin install
In project folder root, type:
php bin/console puzzle:admin-install