Revision: 1319
http://mrbs.svn.sourceforge.net/mrbs/?rev=1319&view=rev
Author: cimorrison
Date: 2010-04-09 09:57:20 +0000 (Fri, 09 Apr 2010)
Log Message:
-----------
Allowed provisional bookings to be enabled on a per-area basis.
Modified Paths:
--------------
mrbs/trunk/tables.my.sql
mrbs/trunk/tables.pg.73and_above.sql
mrbs/trunk/tables.pg.sql
mrbs/trunk/web/Themes/default/header.inc
mrbs/trunk/web/dbsys.inc
mrbs/trunk/web/edit_area_room.php
mrbs/trunk/web/functions.inc
mrbs/trunk/web/lang.en
mrbs/trunk/web/pending.php
Added Paths:
-----------
mrbs/trunk/web/upgrade/13/
mrbs/trunk/web/upgrade/13/mysql.sql
mrbs/trunk/web/upgrade/13/pgsql.sql
mrbs/trunk/web/upgrade/13/post.inc
Modified: mrbs/trunk/tables.my.sql
===================================================================
--- mrbs/trunk/tables.my.sql 2010-04-08 09:10:46 UTC (rev 1318)
+++ mrbs/trunk/tables.my.sql 2010-04-09 09:57:20 UTC (rev 1319)
@@ -32,6 +32,8 @@
max_book_ahead_enabled tinyint(1),
max_book_ahead_secs int,
custom_html text,
+ provisional_enabled tinyint(1),
+ reminders_enabled tinyint(1),
PRIMARY KEY (id)
);
Modified: mrbs/trunk/tables.pg.73and_above.sql
===================================================================
--- mrbs/trunk/tables.pg.73and_above.sql 2010-04-08 09:10:46 UTC (rev
1318)
+++ mrbs/trunk/tables.pg.73and_above.sql 2010-04-09 09:57:20 UTC (rev
1319)
@@ -47,7 +47,9 @@
min_book_ahead_secs int,
max_book_ahead_enabled smallint,
max_book_ahead_secs int,
- custom_html text
+ custom_html text,
+ provisional_enabled smallint,
+ reminders_enabled smallint
);
CREATE TABLE mrbs_room
Modified: mrbs/trunk/tables.pg.sql
===================================================================
--- mrbs/trunk/tables.pg.sql 2010-04-08 09:10:46 UTC (rev 1318)
+++ mrbs/trunk/tables.pg.sql 2010-04-09 09:57:20 UTC (rev 1319)
@@ -35,7 +35,9 @@
min_book_ahead_secs int,
max_book_ahead_enabled smallint,
max_book_ahead_secs int,
- custom_html text
+ custom_html text,
+ provisional_enabled smallint,
+ reminders_enabled smallint
);
CREATE TABLE mrbs_room
Modified: mrbs/trunk/web/Themes/default/header.inc
===================================================================
--- mrbs/trunk/web/Themes/default/header.inc 2010-04-08 09:10:46 UTC (rev
1318)
+++ mrbs/trunk/web/Themes/default/header.inc 2010-04-09 09:57:20 UTC (rev
1319)
@@ -7,7 +7,7 @@
{
global $mrbs_company, $mrbs_company_logo, $mrbs_company_url,
$mrbs_company_more_info,
$search_str, $locale_warning, $provisional_enabled;
- global $tbl_entry;
+ global $tbl_entry, $tbl_room, $tbl_area;
global $PHP_SELF;
$page = basename($PHP_SELF, ".php" );
@@ -384,12 +384,20 @@
</form>
<?php
// Provide a link to the list of outstanding provisional bookings
+ // (if there are any areas where we are using provisional bookings)
$user = getUserName();
- if ($provisional_enabled && (authGetUserLevel($user) >= 1))
+ $provisional_somewhere = (sql_query1("SELECT COUNT(*) FROM $tbl_area
WHERE provisional_enabled>0 LIMIT 1") > 0);
+ if ($provisional_somewhere && (authGetUserLevel($user) >= 1))
{
$is_admin = (authGetUserLevel($user) >= 2);
// Find out how many provisional bookings there are
- $sql = "SELECT COUNT(*) FROM $tbl_entry WHERE status=" .
STATUS_PROVISIONAL;
+ // (but only for areas where provisional bookings are enabled)
+ $sql = "SELECT COUNT(*)
+ FROM $tbl_entry E, $tbl_room R, $tbl_area A
+ WHERE status=" . STATUS_PROVISIONAL . "
+ AND E.room_id = R.id
+ AND R.area_id = A.id
+ AND A.provisional_enabled>0";
if (!$is_admin)
{
// Ordinary users can only see their own
Modified: mrbs/trunk/web/dbsys.inc
===================================================================
--- mrbs/trunk/web/dbsys.inc 2010-04-08 09:10:46 UTC (rev 1318)
+++ mrbs/trunk/web/dbsys.inc 2010-04-09 09:57:20 UTC (rev 1319)
@@ -15,7 +15,7 @@
$tbl_variables = $db_tbl_prefix . "variables";
-$db_schema_version = 12;
+$db_schema_version = 13;
$local_db_schema_version = 1;
Modified: mrbs/trunk/web/edit_area_room.php
===================================================================
--- mrbs/trunk/web/edit_area_room.php 2010-04-08 09:10:46 UTC (rev 1318)
+++ mrbs/trunk/web/edit_area_room.php 2010-04-09 09:57:20 UTC (rev 1319)
@@ -81,6 +81,8 @@
$area_private_default = get_form_var('area_private_default', 'int');
$area_private_mandatory = get_form_var('area_private_mandatory', 'string');
$area_private_override = get_form_var('area_private_override', 'string');
+$area_provisional_enabled = get_form_var('area_provisional_enabled', 'string');
+$area_reminders_enabled = get_form_var('area_reminders_enabled', 'string');
$custom_html = get_form_var('custom_html', 'string'); // Used for both area
and room, but you only ever have one or the other
$change_done = get_form_var('change_done', 'string');
$change_room = get_form_var('change_room', 'string');
@@ -319,6 +321,8 @@
$area_max_ba_enabled = (!empty($area_max_ba_enabled)) ? 1 : 0;
$area_private_enabled = (!empty($area_private_enabled)) ? 1 : 0;
$area_private_mandatory = (!empty($area_private_mandatory)) ? 1 : 0;
+ $area_provisional_enabled = (!empty($area_provisional_enabled)) ? 1 : 0;
+ $area_reminders_enabled = (!empty($area_reminders_enabled)) ? 1 : 0;
if (!$enable_periods)
{
@@ -381,6 +385,8 @@
$assign_array[] = "private_default=" . $area_private_default;
$assign_array[] = "private_mandatory=" . $area_private_mandatory;
$assign_array[] = "private_override='" . $area_private_override . "'";
+ $assign_array[] = "provisional_enabled=" . $area_provisional_enabled;
+ $assign_array[] = "reminders_enabled=" . $area_reminders_enabled;
$sql .= implode(",", $assign_array) . " WHERE id=$area";
if (sql_command($sql) < 0)
@@ -906,8 +912,22 @@
} // end if (!$enable_periods)
?>
-
+
<fieldset>
+ <legend><?php echo get_vocab("provisional_settings")?></legend>
+ <div>
+ <label for="area_provisional_enabled"><?php echo
get_vocab("enable_provisional")?>:</label>
+ <?php $checked = ($provisional_enabled) ? " checked=\"checked\"" :
"" ?>
+ <input class="checkbox" type="checkbox"<?php echo $checked ?>
id="area_provisional_enabled" name="area_provisional_enabled">
+ </div>
+ <div>
+ <label for="area_reminders_enabled"><?php echo
get_vocab("enable_reminders")?>:</label>
+ <?php $checked = ($reminders_enabled) ? " checked=\"checked\"" : ""
?>
+ <input class="checkbox" type="checkbox"<?php echo $checked ?>
id="area_reminders_enabled" name="area_reminders_enabled">
+ </div>
+ </fieldset>
+
+ <fieldset>
<legend><?php echo get_vocab("private_settings")?></legend>
<div>
<label for="area_private_enabled"><?php echo
get_vocab("allow_private")?>:</label>
Modified: mrbs/trunk/web/functions.inc
===================================================================
--- mrbs/trunk/web/functions.inc 2010-04-08 09:10:46 UTC (rev 1318)
+++ mrbs/trunk/web/functions.inc 2010-04-09 09:57:20 UTC (rev 1319)
@@ -395,15 +395,18 @@
global $resolution, $default_duration, $morningstarts,
$morningstarts_minutes, $eveningends, $eveningends_minutes;
global $private_enabled, $private_default, $private_mandatory,
$private_override;
global $min_book_ahead_enabled, $max_book_ahead_enabled,
$min_book_ahead_secs, $max_book_ahead_secs;
+ global $provisional_enabled, $reminders_enabled;
$booleans = array('private_enabled', 'private_default', 'private_mandatory',
- 'min_book_ahead_enabled', 'max_book_ahead_enabled');
+ 'min_book_ahead_enabled', 'max_book_ahead_enabled',
+ 'provisional_enabled', 'reminders_enabled');
// Get all the "per area" config settings
$sql = "SELECT resolution, default_duration, morningstarts,
morningstarts_minutes,
eveningends, eveningends_minutes,
private_enabled, private_default, private_mandatory,
private_override,
min_book_ahead_enabled, max_book_ahead_enabled,
- min_book_ahead_secs, max_book_ahead_secs
+ min_book_ahead_secs, max_book_ahead_secs,
+ provisional_enabled, reminders_enabled
FROM $tbl_area
WHERE id=$area
LIMIT 1";
Modified: mrbs/trunk/web/lang.en
===================================================================
--- mrbs/trunk/web/lang.en 2010-04-08 09:10:46 UTC (rev 1318)
+++ mrbs/trunk/web/lang.en 2010-04-09 09:57:20 UTC (rev 1319)
@@ -308,6 +308,9 @@
$vocab["too_many_slots"] = 'You need to increase the value of
$max_slots in the config file!';
$vocab["general_settings"] = "General";
$vocab["time_settings"] = "Slot times";
+$vocab["provisional_settings"] = "Provisional bookings";
+$vocab["enable_provisional"] = "Enable provisional bookings";
+$vocab["enable_reminders"] = "Allow users to remind admins";
$vocab["private_settings"] = "Private bookings";
$vocab["allow_private"] = "Allow private bookings";
$vocab["force_private"] = "Force private bookings";
Modified: mrbs/trunk/web/pending.php
===================================================================
--- mrbs/trunk/web/pending.php 2010-04-08 09:10:46 UTC (rev 1318)
+++ mrbs/trunk/web/pending.php 2010-04-09 09:57:20 UTC (rev 1319)
@@ -168,6 +168,7 @@
echo "<h1>" . get_vocab("pending") . "</h1>\n";
// Get a list of all the provisional bookings
+// We are only interested in areas where provisional bookings are enabled
$sql = "SELECT E.id, E.name, E.room_id, E.start_time, E.create_by, " .
sql_syntax_timestamp_to_unix("E.timestamp") . " AS last_updated,
E.reminded, E.repeat_id,
@@ -175,6 +176,7 @@
FROM $tbl_room AS R, $tbl_area AS A, $tbl_entry AS E
WHERE E.room_id = R.id
AND R.area_id = A.id
+ AND A.provisional_enabled>0
AND status=" . STATUS_PROVISIONAL;
// Ordinary users can only see their own bookings
Added: mrbs/trunk/web/upgrade/13/mysql.sql
===================================================================
--- mrbs/trunk/web/upgrade/13/mysql.sql (rev 0)
+++ mrbs/trunk/web/upgrade/13/mysql.sql 2010-04-09 09:57:20 UTC (rev 1319)
@@ -0,0 +1,5 @@
+# $Id$
+
+ALTER TABLE %DB_TBL_PREFIX%area
+ADD COLUMN provisional_enabled tinyint(1),
+ADD COLUMN reminders_enabled tinyint(1);
Property changes on: mrbs/trunk/web/upgrade/13/mysql.sql
___________________________________________________________________
Added: svn:keywords
+ Id
Added: svn:eol-style
+ native
Added: mrbs/trunk/web/upgrade/13/pgsql.sql
===================================================================
--- mrbs/trunk/web/upgrade/13/pgsql.sql (rev 0)
+++ mrbs/trunk/web/upgrade/13/pgsql.sql 2010-04-09 09:57:20 UTC (rev 1319)
@@ -0,0 +1,5 @@
+-- $Id$
+
+ALTER TABLE %DB_TBL_PREFIX%area
+ADD COLUMN provisional_enabled smallint,
+ADD COLUMN reminders_enabled smallint;
Property changes on: mrbs/trunk/web/upgrade/13/pgsql.sql
___________________________________________________________________
Added: svn:keywords
+ Id
Added: svn:eol-style
+ native
Added: mrbs/trunk/web/upgrade/13/post.inc
===================================================================
--- mrbs/trunk/web/upgrade/13/post.inc (rev 0)
+++ mrbs/trunk/web/upgrade/13/post.inc 2010-04-09 09:57:20 UTC (rev 1319)
@@ -0,0 +1,26 @@
+<?php
+
+// $Id$
+
+// Populate the new columns in the area table with the default values taken
+// from the config file.
+
+global $tbl_area;
+global $provisional_enabled, $reminders_enabled;
+
+$provisional_enabled = ($provisional_enabled) ? 1 : 0;
+$reminders_enabled = ($reminders_enabled) ? 1 : 0;
+
+$sql = "UPDATE $tbl_area SET
+ provisional_enabled=$provisional_enabled,
+ reminders_enabled=$reminders_enabled";
+
+$res = sql_command($sql);
+if ($res == -1)
+{
+ echo sql_error();
+ // No need to localise, should never happen
+ print "<span class=\"error\">Failed to set default values for new columns in
area table.</span>";
+}
+
+?>
Property changes on: mrbs/trunk/web/upgrade/13/post.inc
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:keywords
+ Id
Added: svn:eol-style
+ native
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Mrbs-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mrbs-commits