fmsystem-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Fmsystem-commits] [16030] form validation


From: sigurdne
Subject: [Fmsystem-commits] [16030] form validation
Date: Mon, 28 Nov 2016 12:41:18 +0000 (UTC)

Revision: 16030
          http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=16030
Author:   sigurdne
Date:     2016-11-28 12:41:18 +0000 (Mon, 28 Nov 2016)
Log Message:
-----------
form validation

Modified Paths:
--------------
    trunk/phpgwapi/inc/class.jquery.inc.php
    trunk/property/inc/class.uiproject.inc.php
    trunk/property/js/portico/project.edit.js
    trunk/property/templates/base/project.xsl

Modified: trunk/phpgwapi/inc/class.jquery.inc.php
===================================================================
--- trunk/phpgwapi/inc/class.jquery.inc.php     2016-11-27 17:41:11 UTC (rev 
16029)
+++ trunk/phpgwapi/inc/class.jquery.inc.php     2016-11-28 12:41:18 UTC (rev 
16030)
@@ -386,7 +386,7 @@
                                        form: '#{$form_id}',
                                        validateOnBlur : false,
                                        scrollToTopOnError : false,
-                                       validateHiddenInputs: true,
+                       //              validateHiddenInputs: true,
                                        errorMessagePosition : 
{$errorMessagePosition},
                                        scrollToTopOnError: 
{$scrollToTopOnError}
                                });

Modified: trunk/property/inc/class.uiproject.inc.php
===================================================================
--- trunk/property/inc/class.uiproject.inc.php  2016-11-27 17:41:11 UTC (rev 
16029)
+++ trunk/property/inc/class.uiproject.inc.php  2016-11-28 12:41:18 UTC (rev 
16030)
@@ -1165,9 +1165,9 @@
                        if ($id)
                        {
                                self::message_set($this->receipt);
-                               $active_tab = phpgw::get_var('tab');
+                               $active_tab = phpgw::get_var('active_tab');
 
-                               self::redirect(array('menuaction' => 
'property.uiproject.edit', 'id' => $id, 'tab' => $active_tab));
+                               self::redirect(array('menuaction' => 
'property.uiproject.edit', 'id' => $id, 'active_tab' => $active_tab));
                        }
 
                        $this->edit($values, 'edit');
@@ -2027,7 +2027,7 @@
                        $msgbox_data = 
$this->bocommon->msgbox_data($this->receipt);
 
                        $project_type_id = isset($values['project_type_id']) && 
$values['project_type_id'] ? $values['project_type_id'] : 
$GLOBALS['phpgw_info']['user']['preferences']['property']['default_project_type'];
-                       $active_tab = phpgw::get_var('tab', 'string', 
'REQUEST', 'general');
+                       $active_tab = phpgw::get_var('active_tab', 'string', 
'REQUEST', 'general');
 
                        $data = array
                                (
@@ -2046,6 +2046,7 @@
                                'contact_data' => $contact_data,
                                'tabs' => self::_generate_tabs($tabs, 
$active_tab, array('documents' => $id ? false : true,
                                        'history' => $id ? false : true)),
+                               'value_active_tab' => $active_tab,
                                'msgbox_data' => 
$GLOBALS['phpgw']->common->msgbox($msgbox_data),
                                'value_origin' => isset($values['origin_data']) 
? $values['origin_data'] : '',
                                'value_origin_type' => isset($origin) ? $origin 
: '',

Modified: trunk/property/js/portico/project.edit.js
===================================================================
--- trunk/property/js/portico/project.edit.js   2016-11-27 17:41:11 UTC (rev 
16029)
+++ trunk/property/js/portico/project.edit.js   2016-11-28 12:41:18 UTC (rev 
16030)
@@ -1,4 +1,4 @@
-
+var project_id;
 var sUrl_workorder = phpGWLink('index.php', {'menuaction': 
'property.uiworkorder.edit'});
 var sUrl_invoice = phpGWLink('index.php', {'menuaction': 
'property.uiinvoice.index'});
 
@@ -161,13 +161,13 @@
                JqueryPortico.updateinlineTableHelper(oTable2, requestUrl2);
        });
 
-       if(typeof(oTable1) !== 'undefined')
+       if (typeof (oTable1) !== 'undefined')
        {
                var api1 = oTable1.api();
                api1.on('draw', sum_columns_table_orders);
        }
 
-       if(typeof(oTable2) !== 'undefined')
+       if (typeof (oTable2) !== 'undefined')
        {
                var api2 = oTable2.api();
                api2.on('draw', sum_columns_table_invoice);
@@ -271,14 +271,7 @@
 
 this.validate_form = function ()
 {
-       conf = {
-               modules: 'location, date, security, file',
-               validateOnBlur: false,
-               scrollToTopOnError: true,
-               errorMessagePosition: 'top',
-               language: validateLanguage
-       };
-       return $('form').isValid(validateLanguage, conf);
+       return $('form').isValid();
 }
 
 JqueryPortico.FormatterClosed = function (key, oData)
@@ -291,22 +284,65 @@
        return "<div align=\"center\">" + oData['active'] + 
oData['active_orig'] + "</div>";
 };
 
-function set_tab(tab)
+function set_tab(active_tab)
 {
-       $("#project_tab").val(tab);
+       $("#active_tab").val(active_tab);
+       check_button_names();
 }
 
+check_button_names = function ()
+{
+       var active_tab = $("#active_tab").val();
+
+       if (Number(project_id) === 0)
+       {
+               if (active_tab === 'general')
+               {
+                       $("#submitform").val(lang['next']);
+               }
+               else if (active_tab === 'location')
+               {
+                       $("#submitform").val(lang['next']);
+               }
+               else
+               {
+                       $("#submitform").val(lang['save']);
+               }
+       }
+};
+
 $(document).ready(function ()
 {
+       check_button_names();
+
        $('form[name=form]').submit(function (e)
        {
                e.preventDefault();
 
+               var active_tab = $("#active_tab").val();
+
                if (!validate_form())
                {
                        return;
                }
-               check_and_submit_valid_session();
+
+               if (active_tab === 'general' && Number(project_id) === 0)
+               {
+                       $('#tab-content').responsiveTabs('activate', 1);
+                       $("#submitform").val(lang['next']);
+                       $("#active_tab").val('location');
+               }
+               else if (active_tab === 'location' && Number(project_id) === 0)
+               {
+                       $('#tab-content').responsiveTabs('activate', 2);
+                       $("#submitform").val(lang['save']);
+                       $("#active_tab").val('budget');
+               }
+               else
+               {
+                       check_and_submit_valid_session();
+               }
+
        });
 });
 

Modified: trunk/property/templates/base/project.xsl
===================================================================
--- trunk/property/templates/base/project.xsl   2016-11-27 17:41:11 UTC (rev 
16029)
+++ trunk/property/templates/base/project.xsl   2016-11-28 12:41:18 UTC (rev 
16030)
@@ -31,6 +31,7 @@
                var project_id = '<xsl:value-of select="value_project_id"/>';
                var location_item_id = '<xsl:value-of 
select="location_item_id"/>';
                var base_java_url = <xsl:value-of select="base_java_url"/>;
+               var lang = <xsl:value-of select="php:function('js_lang', 
'next', 'save')"/>;
        </script>
        <xsl:choose>
                <xsl:when test="msgbox_data != ''">
@@ -45,7 +46,7 @@
                <xsl:variable name="decimal_separator">
                        <xsl:value-of select="decimal_separator"/>
                </xsl:variable>
-               <input id="project_tab" type="hidden" name="tab" value=""/>
+               <input type="hidden" id="active_tab" name="active_tab" 
value="{value_active_tab}"/>
                <div id="tab-content">
                        <xsl:value-of disable-output-escaping="yes" 
select="tabs"/>
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]