Skip to content

Commit

Permalink
Merge pull request #269 from shinesoftware/sandbox
Browse files Browse the repository at this point in the history
Sandbox
  • Loading branch information
Shine Software committed Oct 22, 2013
2 parents 27c49b9 + 657b226 commit 6bf113b
Show file tree
Hide file tree
Showing 24 changed files with 1,359 additions and 460 deletions.
176 changes: 93 additions & 83 deletions application/configs/acl.xml
Original file line number Diff line number Diff line change
@@ -1,93 +1,103 @@
<?xml version="1.0" encoding="UTF-8"?>
<configdata>
<acl>
<admin>
<dashboard title="Dashboard">
<modules>
<api title="API" ismodule="1">
<children>
<notes title="Notes"></notes>
<request title="API Connector"></request>
</children>
</dashboard>
<customers title="Customers">
</api>
<admin title="Admin" ismodule="1">
<children>
<customers title="Customers"></customers>
<customersgroups title="Groups"></customersgroups>
<domains title="Domains"></domains>
<services title="Services"></services>
<dashboard title="Generic">
<children>
<notes title="Notes"></notes>
</children>
</dashboard>
<customers title="Customers">
<children>
<customers title="Customers"></customers>
<customersgroups title="Groups"></customersgroups>
<domains title="Domains"></domains>
<services title="Services"></services>
</children>
</customers>
<support title="Helpdesk">
<children>
<tickets title="Tickets"></tickets>
<wiki title="Wiki"></wiki>
</children>
</support>

<sales title="Sales">
<children>
<orders title="Orders"></orders>
<invoices title="Invoices"></invoices>
<purchases title="Purchases"></purchases>
<creditsnotes title="Credit Notes"></creditsnotes>
<payments title="Payments"></payments>
</children>
</sales>

<products title="Products">
<children>
<products title="Products"></products>
<productscategories title="Categories"></productscategories>
<attributesgroups title="Attribute Groups"></attributesgroups>
<attributes title="Attributes"></attributes>
<reviews title="Reviews"></reviews>
<domainstlds title="Domain TLD"></domainstlds>
</children>
</products>

<roles title="Roles">
<children>
<roles title="Roles"></roles>
<users title="Users"></users>
</children>
</roles>

<cms title="CMS">
<children>
<cmspages title="Pages"></cmspages>
<cmsblocks title="Blocks"></cmsblocks>
</children>
</cms>

<newsletter title="Newsletter">
<children>
<newsletter title="Newsletter"></newsletter>
<subscribers title="Subscribers"></subscribers>
</children>
</newsletter>

<reports title="Reports">
<children>
<reports title="Reports"></reports>
</children>
</reports>

<settings title="General Settings">
<children>
<settings title="Settings"></settings>
<registrars title="Registrars"></registrars>
<isp title="Registrars"></isp>
<servers title="Servers"></servers>
<banks title="Banks"></banks>
<urlrewrite title="URL Rewrites"></urlrewrite>
<languages title="Languages"></languages>
<ticketscategories title="Tickets Categories"></ticketscategories>
<wikicategories title="WIKI Categories"></wikicategories>
<legalforms title="Legal Company forms"></legalforms>
<companytpes title="Company Types"></companytpes>
<emailstemplates title="Email Templates"></emailstemplates>
<filecategories title="File Categories"></filecategories>
<purchasescategories title="Purchase Categories"></purchasescategories>
</children>
</settings>
</children>
</customers>
<support title="Helpdesk">
<children>
<tickets title="Tickets"></tickets>
<wiki title="Wiki"></wiki>
</children>
</support>

<sales title="Sales">
<children>
<orders title="Orders"></orders>
<invoices title="Invoices"></invoices>
<purchases title="Purchases"></purchases>
<creditsnotes title="Credit Notes"></creditsnotes>
<payments title="Payments"></payments>
</children>
</sales>

<products title="Products">
<children>
<products title="Products"></products>
<productscategories title="Categories"></productscategories>
<attributesgroups title="Attribute Groups"></attributesgroups>
<attributes title="Attributes"></attributes>
<reviews title="Reviews"></reviews>
<domainstlds title="Domain TLD"></domainstlds>
</children>
</products>

<roles title="Roles">
<children>
<roles title="Roles"></roles>
<users title="Users"></users>
</children>
</roles>
</admin>

<cms title="CMS">
<children>
<cmspages title="Pages"></cmspages>
<cmsblocks title="Blocks"></cmsblocks>
</children>
</cms>

<newsletter title="Newsletter">
<children>
<newsletter title="Newsletter"></newsletter>
<subscribers title="Subscribers"></subscribers>
</children>
</newsletter>

<reports title="Reports">
<children>
<reports title="Reports"></reports>
</children>
</reports>

<settings title="General Settings">
<children>
<settings title="Settings"></settings>
<registrars title="Registrars"></registrars>
<isp title="Registrars"></isp>
<servers title="Servers"></servers>
<banks title="Banks"></banks>
<urlrewrite title="URL Rewrites"></urlrewrite>
<languages title="Languages"></languages>
<ticketscategories title="Tickets Categories"></ticketscategories>
<wikicategories title="WIKI Categories"></wikicategories>
<legalforms title="Legal Company forms"></legalforms>
<companytpes title="Company Types"></companytpes>
<emailstemplates title="Email Templates"></emailstemplates>
<filecategories title="File Categories"></filecategories>
<purchasescategories title="Purchase Categories"></purchasescategories>
</children>
</settings>
</admin>
</modules>
</acl>
</configdata>
1 change: 0 additions & 1 deletion application/configs/application.ini
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ autoloaderNamespaces[] = "Doctrine"
autoloaderNamespaces[] = "PHPExcel_"
autoloaderNamespaces[] = "PHPExcel"
autoloaderNamespaces[] = "Api_"
autoloaderNamespaces[] = "OAuth2_"

; Resources
resources.frontController.formDirectory = APPLICATION_PATH "/forms"
Expand Down
2 changes: 1 addition & 1 deletion application/models/AdminPermissions.php
Original file line number Diff line number Diff line change
Expand Up @@ -162,7 +162,7 @@ public static function deleteItem($id) {
* Clear all the permissions by Role ID
* @param $id
*/
public static function clearPermissionByRoleID($id) {
public static function clearPermissionByRoleID($id) {
Doctrine::getTable ( 'AdminPermissions' )->findBy ( 'role_id', $id )->delete();
}

Expand Down
27 changes: 18 additions & 9 deletions application/models/AdminResources.php
Original file line number Diff line number Diff line change
Expand Up @@ -24,13 +24,20 @@ public static function getResources(){
// Get the custom ACL resources from the database
$acldbresources = Doctrine_Query::create ()->from ( 'AdminResources r' )->execute(array(), Doctrine::HYDRATE_ARRAY);

foreach ($aclConfig->admin as $controller=>$resources){
foreach ($aclConfig->modules->admin as $controller=>$resources){
$key = "admin:$controller";
$aclresources['admin'][$key]['module'] = "admin";
$aclresources['admin'][$key]['title'] = (string)$resources->title;
$aclresources['admin'][$key]['title'] = !empty($resources->title) ? (string)$resources->title : "";
$aclresources['admin'][$key]['controller'] = $controller;
}

foreach ($aclConfig->modules->api as $controller=>$resources){
$key = "api:$controller";
$aclresources['api'][$key]['module'] = "admin";
$aclresources['api'][$key]['title'] = !empty($resources->title) ? (string)$resources->title : "";
$aclresources['api'][$key]['controller'] = $controller;
}

foreach ($acldbresources as $resource){
$module = $resource['module'];
$key = $resource['module'] . ":" . $resource['controller'];
Expand All @@ -54,7 +61,7 @@ public static function createResource($module, $controller, $name = null){
if (!empty($module) && !empty($controller)){
$resource = self::getResource($module, $controller);

if(empty($resource)){
if(0 == $resource->count()){
$resource = new AdminResources();

$resource->name = !empty($name) ? $name : $controller;
Expand Down Expand Up @@ -136,17 +143,19 @@ public static function getbyParentId($id) {
* @param array $selecteditems
* @return multitype:boolean NULL multitype:string boolean NULL
*/
public static function createResourcesTree($aclConfig, $selecteditems = array()) {
public static function createResourcesTree($aclConfig, $selecteditems = array(), $module=null) {
$translator = Shineisp_Registry::getInstance ()->Zend_Translate;

foreach ($aclConfig as $key => $item){
$key = "admin:$key";
$selected = in_array ( $key, $selecteditems ) ? true : false;


if(!empty($item->children)){
$res [] = array ('key' => $key, 'title' => $translator->translate($item->title), 'expand' => true, 'select' => false, 'isFolder' => true, 'children' => self::createResourcesTree($item->children, $selecteditems), 'hideCheckbox' => true );
if($item->ismodule){
$module = $key;
}
$res [] = array ('title' => $translator->translate($item->title), 'expand' => true, 'select' => false, 'isFolder' => true, 'children' => self::createResourcesTree($item->children, $selecteditems, $module), 'hideCheckbox' => true );
}else{
$res [] = array ('key' => $key, 'title' => $translator->translate($item->title), 'select' => $selected );
$selected = in_array ( "$module:$key", $selecteditems ) ? true : false;
$res [] = array ('key' => "$module:$key", 'title' => $translator->translate($item->title), 'select' => $selected );
}
}
return $res;
Expand Down
6 changes: 3 additions & 3 deletions application/models/AdminRoles.php
Original file line number Diff line number Diff line change
Expand Up @@ -88,14 +88,14 @@ public static function SaveAll($data, $id=null) {
}
}

// Clear old permissions
AdminPermissions::clearPermissionByRoleID($id);

if(!empty($data['resources'])){

// Explode the string into an array
$resources = explode("/", $data['resources']);

// Clear old permissions
AdminPermissions::clearPermissionByRoleID($id);

// Add the new permissions
foreach ($resources as $resource ){
list($module, $controller) = explode(':', $resource);
Expand Down
14 changes: 14 additions & 0 deletions application/models/SettingsParameters.php
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,20 @@ public static function getList($module = "", $empty = false) {
return $items;
}

/**
* Get all settings information
*
* @return array
*/
public static function getAllInfo() {
$items = array ();
$dq = Doctrine_Query::create ()->from ( 'SettingsParameters s' );

$parameters = $dq->execute ( array (), Doctrine_Core::HYDRATE_ARRAY );

return $parameters;
}

/**
* Create the setting form and populate with the custom setting values
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -214,7 +214,7 @@ public function deleteAction() {
public function editAction() {

$form = $this->getForm ( '/admin/customers/process' );
$form->getElement ( 'save' )->setLabel ( 'Update' );

$id = $this->getRequest ()->getParam ( 'id' );

$this->view->title = $this->translator->translate("Customer edit");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -194,7 +194,7 @@ public function getproductinfoAction() {
*/
public function editAction() {
$form = $this->getForm ( '/admin/invoices/process' );
$form->getElement ( 'save' )->setLabel ( 'Update' );

$id = $this->getRequest ()->getParam ( 'id' );

if (! empty ( $id ) && is_numeric ( $id )) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ public function deleteAction() {
*/
public function editAction() {
$form = $this->getForm ( '/admin/ordersitems/process' );
$form->getElement ( 'save' )->setLabel ( 'Update' );

$id = $this->getRequest ()->getParam ( 'id' );

// Create the buttons in the edit form
Expand Down
5 changes: 2 additions & 3 deletions application/modules/admin/controllers/RolesController.php
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,6 @@ public function editAction() {
$aclConfig = new Zend_Config_Xml(APPLICATION_PATH . '/configs/acl.xml', 'acl');

$form = $this->getForm ( '/admin/roles/process' );
$form->getElement ( 'save' )->setLabel ( 'Update' );
$id = $this->getRequest ()->getParam ( 'id' );

// Create the buttons in the edit form
Expand All @@ -174,9 +173,9 @@ public function editAction() {

// Load the roles of each resource
$roles = AdminPermissions::getPermissionByRoleID($id);

// Load the resources
$this->view->resources = json_encode ( AdminResources::createResourcesTree ( $aclConfig->admin, $roles ) );
$this->view->resources = json_encode ( AdminResources::createResourcesTree ( $aclConfig->modules, $roles ) );

// Join the roles and the users
$rs[0]['users'] = $users;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,7 @@ public function deleteAction() {
public function editAction() {
$Session = new Zend_Session_Namespace ( 'Admin' );
$form = $this->getForm ( '/admin/serversgroups/process' );
$form->getElement ( 'save' )->setLabel ( 'Update' );

$id = $this->getRequest ()->getParam ( 'id' );

// Create the buttons in the edit form
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,7 @@ public function deleteAction() {
public function editAction() {
$form = $this->getForm ( '/admin/services/process' );
$service_domains = new OrdersItemsDomains ( );
$form->getElement ( 'save' )->setLabel ( 'Update' );

$id = $this->getRequest ()->getParam ( 'id' );

// Create the buttons in the edit form
Expand Down
2 changes: 1 addition & 1 deletion application/modules/admin/controllers/TaxesController.php
Original file line number Diff line number Diff line change
Expand Up @@ -149,7 +149,7 @@ public function confirmAction() {
public function editAction() {
$form = $this->getForm ( '/admin/taxes/process' );
//* GUEST - ALE - 20130322: Rimosso setLabel in quanto il campo non e' presente nella form
//$form->getElement ( 'save' )->setLabel ( 'Update' );
//
$id = $this->getRequest ()->getParam ( 'id' );

// Create the buttons in the edit form
Expand Down
4 changes: 2 additions & 2 deletions application/modules/default/controllers/OrdersController.php
Original file line number Diff line number Diff line change
Expand Up @@ -377,9 +377,9 @@ public function bulkExport($items) {
}

/*
* bulkAction
* Execute a custom function for each item selected in the list
* this method will be call from a jQuery script
*
* @return string
*/
public function bulkAction() {
Expand All @@ -394,7 +394,7 @@ public function bulkAction() {
die ( json_encode ( array ('mex' => $this->translator->translate ( "The task requested has been executed successfully." ) ) ) );
}
} else {
die ( json_encode ( array ('mex' => $this->translator->translate ( "methodnotset" ) ) ) );
die ( json_encode ( array ('mex' => $this->translator->translate ( "This feature has been not released yet" ) ) ) );
}
}
die ( json_encode ( array ('mex' => $this->translator->translate ( "An error occurred during the task execution." ) ) ) );
Expand Down

0 comments on commit 6bf113b

Please sign in to comment.