Revision: 2186
          http://mrbs.svn.sourceforge.net/mrbs/?rev=2186&view=rev
Author:   tbleher
Date:     2011-11-22 20:49:39 +0000 (Tue, 22 Nov 2011)
Log Message:
-----------
Make it possible to reorder fields in edit_entry (useful for custom fields)

Modified Paths:
--------------
    mrbs/trunk/web/edit_entry.php
    mrbs/trunk/web/systemdefaults.inc.php

Modified: mrbs/trunk/web/edit_entry.php
===================================================================
--- mrbs/trunk/web/edit_entry.php       2011-11-22 20:46:29 UTC (rev 2185)
+++ mrbs/trunk/web/edit_entry.php       2011-11-22 20:49:39 UTC (rev 2186)
@@ -1180,29 +1180,76 @@
   <fieldset>
   <legend><?php echo get_vocab($token); ?></legend>
 
-<?php  
-create_field_entry_name();
-create_field_entry_description();
-create_field_entry_start_date();
-create_field_entry_end_date();
-create_field_entry_areas();
-create_field_entry_rooms();
-create_field_entry_type();
-create_field_entry_confirmation_status();
-create_field_entry_privacy_status();
+<?php
 
+// Fill $edit_entry_field_order with not yet specified entries.
+$entry_fields = array('name', 'description', 'start_date', 'end_date', 'areas',
+  'rooms', 'type', 'confirmation_status', 'privacy_status');
+foreach( $entry_fields as $field )
+{
+  if( ! in_array( $field, $edit_entry_field_order ) )
+    $edit_entry_field_order[] = $field;
+}
+
 // CUSTOM FIELDS
+$custom_fields_map = array();
 foreach ($fields as $field)
 {
   $key = $field['name'];
   if (!in_array($key, $standard_fields['entry']))
   {
-    create_field_entry_custom_field($field, $key);
+    $custom_fields_map[$key] = $field;
+    if( ! in_array( $key, $edit_entry_field_order ) )
+      $edit_entry_field_order[] = $key;
   }
 }
 
+foreach( $edit_entry_field_order as $key )
+{
+  switch( $key )
+  {
+  case 'name':
+    create_field_entry_name();
+    break;
+
+  case 'description':
+    create_field_entry_description();
+    break;
+
+  case 'start_date':
+    create_field_entry_start_date();
+    break;
+
+  case 'end_date':
+    create_field_entry_end_date();
+    break;
+
+  case 'areas':
+    create_field_entry_areas();
+    break;
+
+  case 'rooms':
+    create_field_entry_rooms();
+    break;
+
+  case 'type':
+    create_field_entry_type();
+    break;
+
+  case 'confirmation_status':
+    create_field_entry_confirmation_status();
+    break;
+
+  case 'privacy_status':
+    create_field_entry_privacy_status();
+    break;
+
+  default:
+    create_field_entry_custom_field($custom_fields_map[$key], $key);
+    break;
+  }
+}
     
-    
     // REPEAT BOOKING INPUTS
     if (($edit_type == "series") && $repeats_allowed)
     {

Modified: mrbs/trunk/web/systemdefaults.inc.php
===================================================================
--- mrbs/trunk/web/systemdefaults.inc.php       2011-11-22 20:46:29 UTC (rev 
2185)
+++ mrbs/trunk/web/systemdefaults.inc.php       2011-11-22 20:49:39 UTC (rev 
2186)
@@ -482,7 +482,21 @@
 // if you make a repeat booking and some of the repeat dates are already
 // booked, MRBS will just skip past those).
 $skip_default = FALSE;
- 
+
+// $edit_entry_field_order can be used to change the order of fields in the 
+// edit_entry page. This is useful to insert custom fields somewhere other 
than 
+// the end. For example: To place a custom field 'in_charge' directly after 
the 
+// booking name, set the following in config.inc.php:
+// 
+// $edit_entry_field_order = array('name', 'in_charge');
+// 
+// Valid entries in this array are: 'name', 'description', 'start_date', 
+// 'end_date', 'areas', 'rooms', 'type', 'confirmation_status', 
+// 'privacy_status', plus any custom fields you may have defined. Fields that 
+// are not mentionend in the array are appended at the end, in their usual 
+// order.
+$edit_entry_field_order = array();
+
 /***********************************************
  * Authentication settings - read AUTHENTICATION
  ***********************************************/

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.


------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure 
contains a definitive record of customers, application performance, 
security threats, fraudulent activity, and more. Splunk takes this 
data and makes sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-novd2d
_______________________________________________
Mrbs-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mrbs-commits

Reply via email to