Introduced site admin and top manager roles in tt_roles with team_id 0.
authorNik Okuntseff <support@anuko.com>
Wed, 28 Feb 2018 17:15:41 +0000 (17:15 +0000)
committerNik Okuntseff <support@anuko.com>
Wed, 28 Feb 2018 17:15:41 +0000 (17:15 +0000)
WEB-INF/lib/ttRoleHelper.class.php
WEB-INF/templates/footer.tpl
dbinstall.php
mysql.sql

index f96d7c4..0cf5f44 100644 (file)
@@ -162,7 +162,7 @@ class ttRoleHelper {
     $rights_user = 'data_entry,view_own_data,manage_own_settings,view_users';
     $rights_supervisor = $rights_user.',on_behalf_data_entry,view_data,override_punch_mode,swap_roles,approve_timesheets';
     $rights_comanager = $rights_supervisor.',manage_users,manage_projects,manage_tasks,manage_custom_fields,manage_clients,manage_invoices';
-    $rights_manager = $rights_comanager.'manage_features,manage_basic_settings,manage_advanced_settings,manage_roles,export_data,manage_subgroups';
+    $rights_manager = $rights_comanager.',manage_features,manage_basic_settings,manage_advanced_settings,manage_roles,export_data,manage_subgroups';
 
     // Active roles.
     $name = $mdb2->quote($i18n->getKey('role.user.label'));
index 8fb80ce..642762f 100644 (file)
@@ -12,7 +12,7 @@
       <br>
       <table cellspacing="0" cellpadding="4" width="100%" border="0">
         <tr>
-          <td align="center">&nbsp;Anuko Time Tracker 1.17.34.4034 | Copyright &copy; <a href="https://www.anuko.com/lp/tt_3.htm" target="_blank">Anuko</a> |
+          <td align="center">&nbsp;Anuko Time Tracker 1.17.35.4035 | Copyright &copy; <a href="https://www.anuko.com/lp/tt_3.htm" target="_blank">Anuko</a> |
             <a href="https://www.anuko.com/lp/tt_4.htm" target="_blank">{$i18n.footer.credits}</a> |
             <a href="https://www.anuko.com/lp/tt_5.htm" target="_blank">{$i18n.footer.license}</a> |
             <a href="https://www.anuko.com/lp/tt_7.htm" target="_blank">{$i18n.footer.improve}</a>
index 7f87d7b..b755a8b 100755 (executable)
@@ -32,6 +32,8 @@ require_once('initialize.php');
 import('ttUserHelper');
 import('ttTaskHelper');
 
+// setChange - executes an sql statement. TODO: rename this function to something better.
+// Better yet, redo the entire thing and make an installer.
 function setChange($sql) {
   print "<pre>".$sql."</pre>";
   $mdb2 = getConnection();
@@ -42,6 +44,7 @@ function setChange($sql) {
     print "successful update<br>\n";
 }
 
+
 if ($request->isGet()) {
   echo('<h2>Environment Checks</h2>');
 
@@ -735,6 +738,10 @@ if ($_POST) {
     setChange("ALTER TABLE `tt_users` ADD `role_id` int(11) default NULL AFTER `role`");
     setChange("CREATE TABLE `tt_site_config` (`param_name` varchar(32) NOT NULL, `param_value` text default NULL, `created` datetime default NULL, `updated` datetime default NULL, PRIMARY KEY (`param_name`))");
     setChange("INSERT INTO `tt_site_config` (`param_name`, `param_value`, `created`) VALUES ('version_db', '1.17.34', now())");
+    setChange("DELETE from `tt_roles` WHERE team_id = 0");
+    setChange("INSERT INTO `tt_roles` (`team_id`, `name`, `rank`, `rights`) VALUES (0, 'Site administrator', 1024, 'administer_site')");
+    setChange("INSERT INTO `tt_roles` (`team_id`, `name`, `rank`, `rights`) VALUES (0, 'Top manager', 512, 'data_entry,view_own_data,manage_own_settings,view_users,on_behalf_data_entry,view_data,override_punch_mode,swap_roles,approve_timesheets,manage_users,manage_projects,manage_tasks,manage_custom_fields,manage_clients,manage_invoices,manage_features,manage_basic_settings,manage_advanced_settings,manage_roles,export_data,manage_subgroups')");
+    setChange("UPDATE `tt_site_config` SET `param_value` = '1.17.35' where param_name = 'version_db'");
   }
 
   if ($_POST["cleanup"]) {
index fad0f92..c625e8c 100644 (file)
--- a/mysql.sql
+++ b/mysql.sql
@@ -409,6 +409,10 @@ CREATE TABLE `tt_roles` (
 # Create an index that guarantees unique active and inactive role ranks in each group.
 create unique index role_idx on tt_roles(team_id, rank, status);
 
+# Insert site-wide roles - site administrator and top manager.
+DELETE from `tt_roles` WHERE team_id = 0;
+INSERT INTO `tt_roles` (`team_id`, `name`, `rank`, `rights`) VALUES (0, 'Site administrator', 1024, 'administer_site');
+INSERT INTO `tt_roles` (`team_id`, `name`, `rank`, `rights`) VALUES (0, 'Top manager', 512, 'data_entry,view_own_data,manage_own_settings,view_users,on_behalf_data_entry,view_data,override_punch_mode,swap_roles,approve_timesheets,manage_users,manage_projects,manage_tasks,manage_custom_fields,manage_clients,manage_invoices,manage_features,manage_basic_settings,manage_advanced_settings,manage_roles,export_data,manage_subgroups');
 
 #
 # Structure for table tt_site_config. This table stores configuration data
@@ -423,4 +427,4 @@ CREATE TABLE `tt_site_config` (
   PRIMARY KEY  (`param_name`)
 );
 
-INSERT INTO `tt_site_config` (`param_name`, `param_value`, `created`) VALUES ('version_db', '1.17.34', now()); # TODO: change when structure changes.
+INSERT INTO `tt_site_config` (`param_name`, `param_value`, `created`) VALUES ('version_db', '1.17.35', now()); # TODO: change when structure changes.