Skip to content

Commit

Permalink
Fixed the "configure" permission on modules so that the chrome shows …
Browse files Browse the repository at this point in the history
…when they have it. Fixed the "Pages" menu to not show if you don't have permissions on the page level anywhere in the system. Added a catch in the icon plugin for the delete action to promp the user if you're heading to a delete action.
  • Loading branch information
illiphilli committed Apr 21, 2011
1 parent 9815c01 commit cfd5065
Show file tree
Hide file tree
Showing 7 changed files with 52 additions and 41 deletions.
2 changes: 1 addition & 1 deletion framework/modules/administration/menus/z-navigation.php
Expand Up @@ -20,7 +20,7 @@
if (!defined('EXPONENT')) exit('');
global $user, $router, $db, $section;

if (!$db->selectValue('userpermission','uid','uid=\''.$user->id.'\' AND permission!=\'view\'') && !$user->isAdmin()) return false;
if (!$db->selectValue('userpermission','uid','uid=\''.$user->id.'\' AND permission!=\'view\' AND internal!=\'\'') && !$user->isAdmin()) return false;

$type = "Page";
$page = $db->selectObject('section', 'id='.$section);
Expand Down
62 changes: 31 additions & 31 deletions framework/modules/container/assets/css/admin-container.css
@@ -1,4 +1,4 @@
.exp-container-wrapper .container-chrome {
.container-chrome {
background:url(../../../../core/assets/images/exp-admin-sprite.png) repeat-x 0 -300px;
border:1px solid #0064A7;
border-top-color:#4396cd;
Expand All @@ -14,15 +14,15 @@
line-height:13px!important;
}

.exp-container-wrapper .container-chrome.module-chrome {
.container-chrome.module-chrome {
background:url(../../../../core/assets/images/exp-admin-sprite.png) repeat-x 0 -330px;
border:1px solid #296604;
border-top-color:#83b466;
border-left-color:#83b466;
z-index:1;
}

.exp-container-wrapper .container-chrome.module-chrome.hardcoded-chrome {
.container-chrome.module-chrome.hardcoded-chrome {
background:url(../../../../core/assets/images/exp-admin-sprite.png) repeat-x 0 -360px;
border:1px solid #74151e;
border-top-color:#e27c86;
Expand All @@ -31,16 +31,16 @@
}


.exp-container-wrapper .container-chrome ul,
.exp-container-wrapper .container-chrome ul li {
.container-chrome ul,
.container-chrome ul li {
padding:0;
margin:0;
list-style:none;
}

/**************** pop-down menu ***********************/

.exp-container-wrapper .container-chrome ul {
.container-chrome ul {
display:none;
background:#abd1e3;
position:absolute;
Expand All @@ -57,18 +57,18 @@
}

/* module chrome */
.exp-container-wrapper .container-chrome.module-chrome.hardcoded-chrome ul {
.container-chrome.module-chrome.hardcoded-chrome ul {
border:2px solid #73292e;
background:#d5afb2;
}

/* hard-coded module chrome */
.exp-container-wrapper .container-chrome.module-chrome ul {
.container-chrome.module-chrome ul {
border:2px solid #057005;
background:#b5e3ab;
}

.exp-container-wrapper .container-chrome.module-chrome ul li.container-info {
.container-chrome.module-chrome ul li.container-info {
border-bottom:1px dotted #007800;
margin-top:-3px;
padding:2px 6px 6px 26px;
Expand All @@ -78,7 +78,7 @@
}

/* menu link colors*/
.exp-container-wrapper .container-chrome ul li a {
.container-chrome ul li a {
display:block;
padding:4px 20px 4px 26px;
color:#054b70;
Expand All @@ -87,65 +87,65 @@
white-space:nowrap ;
}

.exp-container-wrapper .container-chrome.module-chrome ul li a {
.container-chrome.module-chrome ul li a {
color:#057005;
}

.exp-container-wrapper .container-chrome.module-chrome.hardcoded-chrome ul li a {
.container-chrome.module-chrome.hardcoded-chrome ul li a {
color:#73292e;
}

.exp-container-wrapper .container-chrome ul li a:hover {
.container-chrome ul li a:hover {
background-color:#004773;
color:#fff;
}

.exp-container-wrapper .container-chrome.module-chrome ul li a:hover {
.container-chrome.module-chrome ul li a:hover {
background-color:#007800;
color:#fff;
}

.exp-container-wrapper .container-chrome.module-chrome.hardcoded-chrome ul li a:hover {
.container-chrome.module-chrome.hardcoded-chrome ul li a:hover {
background-color:#73292e;
color:#fff;
}

/* icon styles */
.exp-container-wrapper .container-chrome ul li a.user {
.container-chrome ul li a.user {
background-position:0 -26px;
}

.exp-container-wrapper .container-chrome ul li a.group {
.container-chrome ul li a.group {
background-position:0 -56px;
}

.exp-container-wrapper .container-chrome ul li a.helplink {
.container-chrome ul li a.helplink {
background-position:0 -85px;
}

.exp-container-wrapper .container-chrome ul li a.delete {
.container-chrome ul li a.delete {
background-position:0 -145px;
}

.exp-container-wrapper .container-chrome ul li a.config-view {
.container-chrome ul li a.config-view {
background-position:0 -175px;
}

.exp-container-wrapper .container-chrome ul li a.config-mod {
.container-chrome ul li a.config-mod {
background-position:0 -205px;
}

.exp-container-wrapper .container-chrome ul li a.mod-up {
.container-chrome ul li a.mod-up {
background-position:0 -237px;
}

.exp-container-wrapper .container-chrome ul li a.mod-down {
.container-chrome ul li a.mod-down {
background-position:0 -267px;
}

/**************** What triggers the menu ***********************/

.exp-container-wrapper .container-chrome .trigger {
.container-chrome .trigger {
color:#fff;
text-decoration:none;
font-weight:bold;
Expand All @@ -161,29 +161,29 @@
background:url(../../../../core/assets/images/exp-admin-sprite.png) no-repeat 100% 0;
}

.exp-container-wrapper .container-chrome.module-chrome .trigger {
.container-chrome.module-chrome .trigger {
line-height:15px;
padding:2px 15px 0 5px;
}

.exp-container-wrapper .container-chrome .trigger.current-trigger {
.container-chrome .trigger.current-trigger {
line-height:15px;
background-color:#49A4DE;
outline:0;
border-left:1px solid #777;
}

.exp-container-wrapper .container-chrome.module-chrome .trigger.current-trigger {
.container-chrome.module-chrome .trigger.current-trigger {
background-color:#71B253;
}

.exp-container-wrapper .container-chrome.module-chrome.hardcoded-chrome .trigger.current-trigger {
.container-chrome.module-chrome.hardcoded-chrome .trigger.current-trigger {
background-color:#b73240;
}

/**************** ***********************/

.exp-container-wrapper a.addmodule span.addtext{
a.addmodule span.addtext{
padding:3px 0 3px 20px!important;
background-color:transparent;
background-image:url(../../../../core/assets/images/exp-admin-sprite.png);
Expand All @@ -195,7 +195,7 @@
*display:inline;
zoom:1;
}
.exp-container-wrapper a.addmodule{
a.addmodule{
display:block!important;
background:#c1d9bf;
padding:0;
Expand All @@ -211,7 +211,7 @@
-webkit-border-radius:3px;
text-decoration:none;
}
.exp-container-wrapper a.addmodule:hover{
a.addmodule:hover{
color:#64855f!important;
background:#d9f2d9;
text-decoration:none;
Expand Down
6 changes: 3 additions & 3 deletions framework/modules/faq/views/faq/manage.tpl
Expand Up @@ -19,12 +19,12 @@
<p>Here you can view questions on your site and edit, delete, and answer unanswered questions</p>

{permissions}
{if $permissions.edit == 1 && $page->records|@count>1}
{ddrerank items=$page->records model="faq" sortfield="question" label="FAQs"}
{/if}
{if $permissions.create == 1}
{icon class=add action=create title="Add a new FAQ" text="Add a New FAQ"}
{/if}
{if $permissions.manage == 1}
{ddrerank items=$page->records model="faq" sortfield="question" label="FAQs"}
{/if}
{/permissions}
<table class="exp-skin-table">
<thead>
Expand Down
2 changes: 1 addition & 1 deletion framework/modules/portfolio/views/portfolio/showall.tpl
Expand Up @@ -24,7 +24,7 @@
{if $permissions.create == 1}
{icon class="add" action=edit title="Add to the top" text="Add a Portfolio Piece"}
{/if}
{if $permissions.edit == 1}
{if $permissions.manage == 1}
{ddrerank items=$page->records model="portfolio" label="Portfolio Pieces"|gettext}
{/if}
</div>
Expand Down
1 change: 1 addition & 0 deletions modules/containermodule/class.php
Expand Up @@ -179,6 +179,7 @@ function show($view,$loc = null,$title = '') {
$cloc->mod = $loc->mod;
$cloc->src = $loc->src;
$cloc->int = $containers[$i]->id;
$location->mod = str_replace('Controller','',$location->mod);
$containers[$i]->permissions = array(
'administrate'=>(exponent_permissions_check('administrate',$location) ? 1 : 0),
'configure'=>(exponent_permissions_check('configure',$location) ? 1 : 0)
Expand Down
18 changes: 14 additions & 4 deletions modules/containermodule/views/Default.tpl
Expand Up @@ -51,7 +51,17 @@
{else}
<a name="mod_{$container->id}"></a>
{permissions}
{if ($permissions.administrate == 1 || $permissions.edit_module == 1 || $permissions.delete_module == 1 || $permissions.add_module == 1 || $container->permissions.administrate == 1)}
{if ($permissions.administrate == 1 || $permissions.edit_module == 1 || $permissions.delete_module == 1 || $permissions.add_module == 1 || $container->permissions.administrate == 1 || $container->permissions.configure == 1 || $container->permissions.manage == 1)}

{* repeating css and JS calls in case they only have module management, and aren not admins *}
{css unique="container-chrome" link="`$smarty.const.PATH_RELATIVE`framework/modules/container/assets/css/admin-container.css"}

{/css}
{script yui3mods="1" unique="container-chrome" src="`$smarty.const.PATH_RELATIVE`framework/core/assets/js/exp-container.js"}

{/script}


<div id="module{$container->id}" class="exp-container-module-wrapper">
{if $i == $containers|@count}
{assign var=last value=true}
Expand All @@ -68,7 +78,7 @@
{$container->output}

{permissions level=$smarty.const.UILEVEL_STRUCTURE}
{if ($permissions.administrate == 1 || $permissions.edit_module == 1 || $permissions.delete_module == 1 || $permissions.add_module == 1 || $container->permissions.administrate == 1 || $container->permissions.edit_module == 1 || $container->permissions.delete_module == 1)}
{if ($permissions.administrate == 1 || $permissions.edit_module == 1 || $permissions.delete_module == 1 || $permissions.add_module == 1 || $container->permissions.administrate == 1 || $container->permissions.edit_module == 1 || $container->permissions.delete_module == 1 || $container->permissions.configure || $container->permissions.configure == 1)}
</div>
{/if}
{/permissions}
Expand All @@ -81,8 +91,8 @@
{/if}
{/foreach}

{permissions level=$smarty.const.UILEVEL_PERMISSIONS}
{if ($permissions.administrate == 1 || $permissions.edit_module == 1 || $permissions.delete_module == 1 || $permissions.add_module == 1 || $container->permissions.administrate == 1 || $container->permissions.edit_module == 1 || $container->permissions.delete_module == 1)}
{permissions}
{if ($permissions.administrate == 1 || $permissions.edit_module == 1 || $permissions.delete_module == 1 || $permissions.add_module == 1 || $container->permissions.administrate == 1 || $container->permissions.edit_module == 1 || $container->permissions.delete_module == 1 || $container->permissions.configure || $container->permissions.configure == 1)}
<div style="clear:both"></div>
</div>
{/if}
Expand Down
2 changes: 1 addition & 1 deletion plugins/function.icon.php
Expand Up @@ -78,9 +78,9 @@ function smarty_function_icon($params,&$smarty) {
unset($params['class']);
unset($params['record']);
//eDebug($params);

if (!empty($params['action'])) {
echo '<a href="'.exponent_core_makeLink($params).'" title="'.$title.'" class="'.$class.'"';
if ($params['action']=="delete"&&!isset($params['onclick'])) echo ' onclick="return confirm(\'Are you sure you want to delete this item?\');"';
if (isset($params['onclick'])) echo ' onclick="'.$params['onclick'].'"';
echo '>'.$linktext.'</a>';
} else {
Expand Down

0 comments on commit cfd5065

Please sign in to comment.