Changeset 13316 in main


Ignore:
Timestamp:
03/07/17 00:06:33 (5 years ago)
Author:
Garth Braithwaite
Message:

admin and db - more ui work - getting closer.

Location:
trunk
Files:
4 added
15 edited

Legend:

Unmodified
Added
Removed
  • trunk/db/src/main/scripts/mysql/data-dataset.sql

    r13106 r13316  
    130130where dstiv.INDICATOR_VIEW_NAME = tivd.INDICATOR_VIEW_NAME
    131131  and tivd.DATASET_NAME is not null
    132 group by tivd.DATASET_NAME
     132group by tivd.DATASET_NAME, dstiv.DATA_SOURCE_NAME
    133133;
    134134
     
    140140where DATASET_NAME        is not null
    141141  and INDICATOR_VIEW_NAME is not null
    142 group by DATASET_NAME
     142group by INDICATOR_VIEW_NAME, DATASET_NAME
    143143;
    144144
  • trunk/db/src/main/scripts/mysql/data-dataset_record.sql

    r13106 r13316  
    6565
    6666
    67 select * from DATASET_RECORD;
    68 
    69 delete from DATASET_RECORD;
    70 
    71 /* do a straight grab - dump in all the values */
    72 insert into DATASET_RECORD (
    73         NAME, DATASET_NAME,
     67
     68create table TMP_DATASET_RECORD(
     69  INDICATOR_VIEW_NAME             varchar  (400),
     70  DATASET_NAME                    varchar  (100)  not null,
     71  /* */
     72  PERIOD_DIMENSION_NAME           varchar  (100)  not null,
     73  PERIOD_DIMENSION_VALUE          varchar  (100)  not null,
     74  DIMENSION_1_NAME                varchar  (100)  not null,
     75  DIMENSION_1_VALUE               varchar  (100)  not null,
     76  DIMENSION_2_NAME                varchar  (100)  not null,
     77  DIMENSION_2_VALUE               varchar  (100)  not null,
     78  /* */
     79  NUMERATOR                       double,
     80  DENOMINATOR                     double,
     81  VALUE                           double,               /* can be null because if insufficient etc. 0 is not correct and * or ** is NOT allowed! */
     82  LOWER_CONFIDENCE_VALUE          double,
     83  UPPER_CONFIDENCE_VALUE          double,
     84  LABEL                           varchar  (100),
     85  NOTE                            varchar (2000),
     86  /* */
     87  SORT_ORDER                      int             default null,
     88  ACTIVE_FLAG                     varchar    (1)
     89);
     90
     91
     92/* do a straight grab - dump in all the values.  Note have to do a temp table
     93        insert that does not have a composite PK because the dataset name is more
     94        general as it combines geocnty, georegion, geosarea etc and thus has the
     95        same multiple state records which will cause dup PK issues.
     96*/
     97insert into TMP_DATASET_RECORD (
     98        INDICATOR_VIEW_NAME, DATASET_NAME,
    7499        DIMENSION_1_NAME,  DIMENSION_2_NAME,  PERIOD_DIMENSION_NAME,
    75100        DIMENSION_1_VALUE, DIMENSION_2_VALUE, PERIOD_DIMENSION_VALUE,
    76101        VALUE, LOWER_CONFIDENCE_VALUE, UPPER_CONFIDENCE_VALUE, NUMERATOR, DENOMINATOR,
    77102        NOTE, ACTIVE_FLAG)
    78 select ivv.INDICATOR_VIEW_NAME,
     103select 
     104        ivv.INDICATOR_VIEW_NAME,
    79105        concat(ivv.INDICATOR_VIEW_NAME,
    80106        '|', ivv.DIMENSION_1_NAME, ':', ivv.DIMENSION_1_VALUE,
     
    90116
    91117/* set the US dataset name */
    92 update DATASET_RECORD dr
     118update TMP_DATASET_RECORD tdr
    93119set DATASET_NAME = ifnull(
    94120        (select tivd.DATASET_NAME
    95121         from TMP_INDICATOR_VIEW_DATASET tivd
    96          where tivd.INDICATOR_VIEW_NAME   = dr.NAME
    97            and tivd.PERIOD_DIMENSION_NAME = dr.PERIOD_DIMENSION_NAME
     122         where tivd.INDICATOR_VIEW_NAME   = tdr.INDICATOR_VIEW_NAME
     123           and tivd.PERIOD_DIMENSION_NAME = tdr.PERIOD_DIMENSION_NAME
    98124           and tivd.DATASET_NAME like '%.US'
    99125         limit 1
    100126        ), DATASET_NAME)
    101 where dr.DIMENSION_1_NAME = 'US'
    102    or dr.DIMENSION_2_NAME = 'US'
     127where tdr.DIMENSION_1_NAME = 'US'
     128   or tdr.DIMENSION_2_NAME = 'US'
    103129;
    104130
    105131/* set the non US dataset name */
    106 update DATASET_RECORD dr
     132update TMP_DATASET_RECORD tdr
    107133set DATASET_NAME = ifnull(
    108134        (select tivd.DATASET_NAME
    109135         from TMP_INDICATOR_VIEW_DATASET tivd
    110          where tivd.INDICATOR_VIEW_NAME   = dr.NAME
    111            and tivd.PERIOD_DIMENSION_NAME = dr.PERIOD_DIMENSION_NAME
     136         where tivd.INDICATOR_VIEW_NAME   = tdr.INDICATOR_VIEW_NAME
     137           and tivd.PERIOD_DIMENSION_NAME = tdr.PERIOD_DIMENSION_NAME
    112138           and tivd.DATASET_NAME not like '%.US'
    113139         limit 1
    114140        ), DATASET_NAME)
    115 where dr.DIMENSION_1_NAME != 'US'
    116   and dr.DIMENSION_2_NAME != 'US'
    117 ;
    118 
    119 
    120 
    121 /* could update the DS NAME - not doing for now as this column might not be used.
    122 update DATASET_RECORD ds
    123 set NAME = concat(DATASET_NAME,
    124                 '|', DIMENSION_1_NAME, ':', DIMENSION_1_VALUE,
    125                 '|', DIMENSION_2_NAME, ':', DIMENSION_2_VALUE,
    126                 '|', PERIOD_DIMENSION_NAME,   ':', PERIOD_DIMENSION_VALUE)
    127 ;
    128 */
    129 
    130 
    131 
    132 45,132 IVV rows
    133 19,897 inserted into DATASET_RECORDs
     141where tdr.DIMENSION_1_NAME != 'US'
     142  and tdr.DIMENSION_2_NAME != 'US'
     143;
     144
     145
     146/* now insert the unique records into the real dataset_record table */
     147select * from DATASET_RECORD;
     148delete from DATASET_RECORD;
     149
     150insert into DATASET_RECORD (
     151        NAME, DATASET_NAME,
     152        DIMENSION_1_NAME,  DIMENSION_2_NAME,  PERIOD_DIMENSION_NAME,
     153        DIMENSION_1_VALUE, DIMENSION_2_VALUE, PERIOD_DIMENSION_VALUE,
     154        VALUE, LOWER_CONFIDENCE_VALUE, UPPER_CONFIDENCE_VALUE, NUMERATOR, DENOMINATOR,
     155        NOTE, ACTIVE_FLAG)
     156select 
     157        concat(DATASET_NAME,
     158        '|', DIMENSION_1_NAME, ':', DIMENSION_1_VALUE,
     159        '|', DIMENSION_2_NAME, ':', DIMENSION_2_VALUE,
     160        '|', PERIOD_DIMENSION_NAME,   ':', PERIOD_DIMENSION_VALUE) as TEMP_NAME,
     161        DATASET_NAME,
     162        DIMENSION_1_NAME,  DIMENSION_2_NAME,  PERIOD_DIMENSION_NAME,
     163        DIMENSION_1_VALUE, DIMENSION_2_VALUE, PERIOD_DIMENSION_VALUE,
     164        VALUE, LOWER_CONFIDENCE_VALUE, UPPER_CONFIDENCE_VALUE,
     165        NUMERATOR, DENOMINATOR,
     166        NOTE, ACTIVE_FLAG
     167from TMP_DATASET_RECORD
     168group by TEMP_NAME
     169;
     170
     171drop table TMP_DATASET_RECORD;
     172
    134173
    135174
     
    139178group by INDICATOR_VIEW_NAME
    140179;
    141 
    142 ==> 6605 rows
    143 
    144 
    145 
    146 
    147 
    148 VALUE:
    149 series that are not used at this point:
    150 AgeGrp11
    151 Eligible
    152 
    153 category:
    154 AcuteChronic
    155 AgeGpChldPov
    156 
    157 VIEW:
    158 category: GeoMSA
    159 series: Eligible
    160 
    161180
    162181
  • trunk/db/src/main/scripts/mysql/tab_c-dataset.sql

    r13090 r13316  
    6868
    6969create table DATASET_RECORD(
    70 
    71 
    72 /* probably not needed but semi leave in for now just in case */
     70  /* probably not needed but semi leave in for now just in case */
    7371  NAME                            varchar  (400), /* not null,    composite built by the app.  DS_NAME|PD_NAME|PD_VAL|DIM1_NAME|DIM1_VAL|DIM2_NAME|DIM2_VALUE */
    74 
    75 
    7672  DATASET_NAME                    varchar  (100)  not null,
    7773  /* */
  • trunk/db/src/main/scripts/mysql/tab_d-user_auth.sql

    r11662 r13316  
    99drop table AUTHORITY;
    1010drop table ROLE;
    11 drop table ROLE_TO_AUTHORITY;
     11drop table AUTHORITY_TO_ROLE;
    1212drop table USER;
    13 drop table USER_TO_ROLE;
    14 drop table USER_TO_AUTHORITY;
     13drop table ROLE_TO_USER;
     14drop table AUTHORITY_TO_USER;
    1515
    1616/*------------------------------ END OF FILE ------------------------------*/
  • trunk/db/src/main/scripts/mysql/update.sql

    r13004 r13316  
    7171        data-dimension_period.sql
    7272
     73        table-repair.sql
     74
    7375Data update scripts:
    7476        data-cleanup.sql                                        /* removes unused and orphanded I, IV, IVV, DSC DSCV, DSS, DSSV and few misc updates */
  • trunk/ibisph-admin/src/main/webapp/WEB-INF/config/spring/dispatcher_servlet.xml

    r13313 r13316  
    141141                                <entry key="edit/indicator/dataset/data_sources/**"      value-ref="indicatorDatasetEditDataSourcesController"/>
    142142                                <entry key="edit/indicator/dataset/dimensions/**"        value-ref="indicatorDatasetEditDimensionsController"/>
    143                         <entry key="edit/indicator/dataset/records/**"           value-ref="indicatorDatasetEditRecordsController"/>
     143                                <entry key="edit/indicator/dataset/record/list/**"       value-ref="indicatorDatasetEditRecordsController"/>
    144144
    145145                                <entry key="save/indicator/dataset/list/**"              value-ref="indicatorDatasetSaveListController"/>
     
    147147                                <entry key="save/indicator/dataset/data_sources/**"      value-ref="indicatorDatasetSaveDataSourcesController"/>
    148148                                <entry key="save/indicator/dataset/dimensions/**"        value-ref="indicatorDatasetSaveDimensionsController"/>
    149                                 <entry key="save/indicator/dataset/records/**"           value-ref="indicatorDatasetSaveRecordsController"/>
     149                                <entry key="save/indicator/dataset/record/list/**"       value-ref="indicatorDatasetSaveRecordsController"/>
    150150
    151151                                <entry key="indicator/dataset/*.xml"                     value-ref="indicatorDatasetViewXMLController"/>
  • trunk/ibisph-admin/src/main/webapp/WEB-INF/jsp/_menu_items.jsp

    r13315 r13316  
    2727
    2828        PAGE NAVIGATION DESIGN NOTES:
    29         - All pages navigation needs to go through script.  The reason for this is
    30           that pages can be modified and need to be posted back to the server.
     29        - All page navigation needs to go through requestPage script.  The reason for
     30          this is that pages can be modified and need to be posted back to the server
     31          and list pages need to handle the selectedName.
    3132        - The nav menu and internal page links need to build the page request URL
    3233          based on the either the "selectedXXXXName" session model value or in the
    3334          case of a list page the selectedName element.
    3435        - Script checks for the existance of a "selectedName" element on the page.
    35           If exists then its a list page and the desired page request URL needs to
    36           adjusted to set the user's selected list item prior to posting/making the
    37           page request.  This is done via stripping all text after the last "/" then
    38           adding the selectedName value along with ".html".  Otherwise the menus
    39           are typically built at page generation time using the selectedXXXXName
    40           session variables.
     36          If exists AND the user is tranversing down to a sub selection, the then
     37          the desired page request URL needs to be adjusted to set the user's selected
     38          list item prior to posting/making the page request.  This is done via
     39          stripping all text after the last "/" then adding the selectedName value
     40          along with ".html".  Otherwise the menus are typically built at page
     41          generation time using the selectedXXXXName session variables.
    4142        - Controllers should pick up the selected name from the end of the requested
    4243          URL path.  If not found then get the last known value in the user's session.
    4344          If still not found then one can be determined from a collection etc.
    44         - Each page should have a "pageRequest" hidden element.  This element has
    45           two purposes:
     45        - Each page should have a "requestedPageURL" hidden element.  This element
     46          has two purposes:
    4647          1) The value should be set to match a navigation menu element's ID attribute.
    4748             Onload script then reads this element's value to get the current nav
    48                  menu associated with that page and adds a CSS class to the element which
    49                  changes the elements apperance (on menu item).
     49                 menu associated with that page and adds a CSS "On" class to the element
     50                 which changes the elements apperance (on menu item).
    5051          2) When the page is posting data back to the server, the script that is
    5152             used to submit the request first sets this hidden's value to the page
  • trunk/ibisph-admin/src/main/webapp/WEB-INF/jsp/chart/list.jsp

    r13315 r13316  
    8080                                        <a href="javascript:requestPage('edit/chart/detail')">Edit Detail</a>
    8181                                </li>
     82<!--
    8283                                <li id="newButton" class="Button" title="Creates/adds a new item">
    8384                                        <a href="javascript:requestPage('edit/chart/detail/-NEW-.html')">Add New</a>
    8485                                </li>
     86-->
    8587                                <li id="saveButton" class="Button" title="Commit/save the changes">
    8688                                        <a href="javascript:requestPage('edit/chart/list')">Save</a>
  • trunk/ibisph-admin/src/main/webapp/WEB-INF/jsp/data_source/detail.jsp

    r13315 r13316  
    1818                {
    1919                        var msg = "";
     20                        if(isBlank(document.form.name.value))
     21                        {
     22                                msg = msg + "- The 'Name' field can not be blank and must be unique.\n";
     23                                document.form.name.focus();
     24                        }
    2025                        if(isBlank(document.form.title.value))
    2126                        {
     
    7378                                <table class="Detail" summary="Layout - left column is the label/title, right column contains associated input elements.">
    7479                                        <tr>
     80<c:if test="${empty dataSource.name}">
     81                                                <th scope="row">Name *</th>
     82                                                <td class="ContentName">
     83                                                        <input name="name" value=""/>
     84                                                </td>
     85</c:if>
     86<c:if test="${not empty dataSource.name}">
    7587                                                <th scope="row">Name:</th>
    7688                                                <td class="ContentName">
     
    7890                                                        <input type="hidden" name="name" value="${dataSource.name}"/>
    7991                                                </td>
     92</c:if>
    8093                                        </tr>
    8194                                        <tr><td colspan="2"><hr align="center"/></td></tr>
  • trunk/ibisph-admin/src/main/webapp/WEB-INF/jsp/dimension/values.jsp

    r13315 r13316  
    9696                                <table class="List" summary="List table - Top row contains the column titles, following rows represent a data record row.">
    9797                                        <tr>
    98                                                 <th scope="col" class="Title">Value *</th>
     98                                                <th scope="col" class="Name">Value *</th>
    9999                                                <th scope="col" class="Title">Title *</th>
    100                                                 <th scope="col" class="Title">Description</th>
     100                                                <th scope="col" class="Description">Description</th>
    101101                                                <th scope="col" class="SortOrder" title="Value used to determine how to order records (must be blank or numeric and can include decimal points).">Sort Order</th>
    102102                                                <th scope="col" class="ActiveFlag" title="Controls if this item shows up in validation lists and if it is publishable.">Active</th>
     
    106106        <c:set var="setModified">onchange="setModified(${loopStatus.index});"</c:set>
    107107                                        <tr>
    108                                                 <td class="Title">
     108                                                <td class="Name">
    109109                                                        ${value.value}
    110110                                                        <input type="hidden" name="name"       value="${value.value}"/>
     
    116116                                                        <input type="text" name="title" maxlength="100" value="${value.title}" ${setModified}/>
    117117                                                </td>
    118                                                 <td>
     118                                                <td class="Description">
    119119                                                        <input type="text" name="description" maxlength="500" value="${value.description}" ${setModified}/>
    120120                                                </td>
  • trunk/ibisph-admin/src/main/webapp/WEB-INF/jsp/indicator/dataset/_menu_items.jsp

    r13315 r13316  
    2525                </li>
    2626                <li id="indicator/dataset/dimensions"><a href="javascript:requestPage('edit/indicator/dataset/dimensions',   '${selectedDatasetName}')" title="Datasets's dimensions.">Dataset Dimensions</a></li>
    27                 <li id="indicator/dataset/records"><a href="javascript:requestPage('edit/indicator/dataset/records', '${selectedDatasetName}')" title="Datasets's values, confidence limits etc.">Dataset Records</a></li>
     27                <li id="indicator/dataset/record/list"><a href="javascript:requestPage('edit/indicator/dataset/record/list', '${selectedDatasetName}')" title="Datasets's values, confidence limits etc.">Dataset Records</a></li>
    2828        </ul>
    2929</li>
  • trunk/ibisph-admin/src/main/webapp/WEB-INF/jsp/user/_menu_items.jsp

    r11972 r13316  
    33<%@ include file="../_menu_items.jsp"%>
    44
    5 <li id="user/list"  ><a href="javascript:requestPage('edit/user/list')"   title="List of">User List</a></li>
    6 <li id="user/detail"><a href="javascript:requestPage('edit/user/detail/${selectedUserID}.html')" title="Detail of">User Detail</a></li>
    7 <li id="user/authorities"><a href="javascript:requestPage('edit/user/authorities/${selectedUserID}.html')" title="Assign/maintain user authorities">User Authorities</a></li>
    8 <li id="user/roles"><a href="javascript:requestPage('edit/user/roles/${selectedUserID}.html')" title="Assign/maintain user roles">User Roles</a></li>
    9 
     5<li id="user/list"  ><a href="javascript:requestPage('edit/user/list')" title="List of">User List</a></li>
     6<li id="user/detail"><a href="javascript:requestPage('edit/user/detail',           '${selectedUserID}')" title="Detail of">User Detail</a></li>
     7<li id="user/authorities"><a href="javascript:requestPage('edit/user/authorities', '${selectedUserID}')" title="Assign/maintain user authorities">User Authorities</a></li>
     8<li id="user/roles"><a href="javascript:requestPage('edit/user/roles',             '${selectedUserID}')" title="Assign/maintain user roles">User Roles</a></li>
  • trunk/ibisph-admin/src/main/webapp/WEB-INF/jsp/value_attribute/detail.jsp

    r13315 r13316  
    101101                                                <th scope="row"><label for="footnoteCode">Footnote Code</label></th>
    102102                                                <td>
    103                                                         <input type="text" name="footnoteCode" id="footnoteCode" maxlength="10" onchange="setModified();" value="${valueAttribute.footnoteCode}"/>
     103                                                        <input type="text" name="footnoteCode" id="footnoteCode"
     104                                                                maxlength="10" onchange="setModified();"
     105                                                                value="${valueAttribute.footnoteCode}"
     106                                                                style="min-width:6em; max-width:6em;"
     107                                                        />
    104108                                                </td>
    105109                                        </tr>
     
    108112                                                <th scope="row"><label for="sortOrder">Sort Order</label></th>
    109113                                                <td class="SortOrder">
    110                                                         <input type="text" name="sortOrder" id="sortOrder" maxlength="10" onchange="setModified();" value="${valueAttribute.sortOrder}"/>
     114                                                        <input type="text" name="sortOrder" id="sortOrder" maxlength="10"
     115                                                                onchange="setModified();" value="${valueAttribute.sortOrder}"
     116                                                        />
    111117                                                </td>
    112118                                        </tr>
  • trunk/ibisph-admin/src/main/webapp/js/common.js

    r13315 r13316  
    7171 *      a redirect to that URL (redirect avoids forward's dup posting problem when
    7272 *      the back button is pressed). 
    73  * b) list page's requested "selectedName" are handled.
    74  *       3 Use cases:
    75  *       1) Complete URL/direct request.  This is when the URL ends with ".html".  It
    76  *    is almost always used by a list page's detail page request link.
    77  *    NOTE: If a selectedName element exists, then the name needs to be grabbed
    78  *    from the end of the URL request and set.
    79  *       2) Left nav tab request - page has a selectedName element (list pages). Always
    80  *    use the page's selectedName if it exists (unless it is complete URL).  The
     73 * b) list page's requested "selectedName" are handled.  3 Use cases:
     74 *       1) Complete URL/direct request.  No processing is used.  This is when the
     75 *    URL ends with ".html".  It is almost always used by a list page's detail
     76 *    page request link or when referring to a dimension to edit etc.
     77 *    NOTE: If a selectedName element exists, then the URL's filename needs to
     78 *    be grabbed from the end of the URL request and radio set to handle [back].
     79 *       2) Left nav tab request from a page has a selectedName element (list pages).
     80 *    If not complete URL and a list type page use the page's selectedName.   The
    8181 *    URL is built by the components of prefix, base URL, selectedName, .html. 
    82  *       3) Left nav tab request - no selectedName element (non list detail pages). 
     82 *       3) Left nav tab request - no selectedName element (non list, detail pages). 
    8383 *    Use the supplied selectedName parameter value to build the complete URL.
    84  *    Note that most pages (not IP or IPV) do not even need a value as the
     84 *    Note that many pages (not IP or IPV) do not even need a value as the
    8585 *    controller gets the appropriate xyzSelectedName value from the session.
    8686 *    The IP and IPV left nav specifies the session value (selectedIndicatorName)
     
    8888 *    IP/IPV is displayed (different way of creating a "new" IP).
    8989 *
    90  
    91  *@param url complete URL.
    92  *@param optionalURLModifierArgument arg that is passed to the URL modifier. 
    93  *   This allows the modifier to do special checks etc.
     90 *@param url partial or complete URL.
     91 *@param selectedName default name to use if a selectedName element is not found
     92 *              and if a complete URL is not specified.
    9493 */
    9594function requestPage(url, selectedName)
    9695{
     96        var urlIsComplete = ((url.endsWith(".html") || (-1 != url.indexOf(".html?"))) && !url.endsWith("/.html"));
     97        var selectedNameElement = getSelectedNameElement();
     98
     99        // if selectedname element then list type page.
     100        if(null != selectedNameElement)
     101        {
     102                // Complete request URL - user clicked on a complete URL request link.
     103                // Set the selected name just in case back button is used.
     104                if(urlIsComplete)
     105                {
     106                        selectedName = getSelectedNameFromURL(url);
     107                        setSelectedNameElement(selectedName);
     108                }
     109
     110                // else incomplete URL - process for a selectedName value.  The selectedName
     111                // can only be set if the current page name's path segments are included
     112                // in the requested URL.  This avoids the issue when traversing back up
     113                // from a sub list type page to a parent type page (IP dataset or view
     114                // list back to the main IP list).
     115                else
     116                {
     117                        var s = selectedNameElement.value;
     118                        if(!isBlank(s) && !isBlank(global.pageName))
     119                        {
     120                                var pathSegmentsToTest = global.pageName.split("/");
     121                                var pathToTest = "";
     122                                for (var i = 0; i < pathSegmentsToTest.length - 1; i++) pathToTest = pathToTest + pathSegmentsToTest[i] + "/";
     123                                if(-1 != url.indexOf(pathToTest)) selectedName = s;
     124                        }
     125                }
     126        }
     127
     128        // if incomplete URL request (left nav selection) and a selectName passed in
     129        // then build a complete URL by adding the selected name value.
     130        if(!urlIsComplete && isDefined(selectedName))
     131        {
     132                if(!url.endsWith("/")) url = url + "/";
     133                url = url + selectedName + ".html";
     134        }
     135
     136        // do any special processing - if the function exists.
     137        if("function" == (typeof requestPageURLModifier)) url = requestPageURLModifier(url, selectedName);
     138        if("function" == (typeof requestPagePreValidation)) requestPagePreValidation();
     139
     140
    97141        // Build a fully qualified URL.  _head.jsp defines the js global.contextPath
    98142        // variable.  If there's a requestPageURLModifier function then call. 
    99143        url = global.contextPath + url;
    100144
    101         // use case #1 - fully specified URL.  Only need to set selectedName and use.
    102         if(url.endsWith(".html") || (url.indexOf(".html?") != -1))
    103         {
    104                 selectedName = getSelectedNameFromURL(url);
    105         }
    106 
    107         // use cases 2&3 - incomplete URL.  If there's a selectedName element then
    108         // have to use it.  Else use the passed selectedName.  Build the URL.
    109         else
    110         {
    111                 var selectedNameElement = getSelectedNameElement();
    112                 if(null != selectedNameElement)
    113                 {
    114                         selectedName = selectedNameElement.value;
    115                 }
    116                 if(!isBlank(selectedName))
    117                 {
    118                         var pathSeperator = "/";
    119                         if(url.endsWith(pathSeperator)) pathSeperator = "";
    120                         url = url + pathSeperator + selectedName + ".html";
    121                 }
    122         }
    123 
    124         // set the selectedName (if there is one).
    125         if(!isBlank(selectedName)) setSelectedNameElement(selectedName);
    126 
    127         // do any special processing - if the function exists.
    128         if("function" == (typeof requestPageURLModifier)) url = requestPageURLModifier(url, selectedName);
    129         if("function" == (typeof requestPagePreValidation)) requestPagePreValidation();
    130 
    131145        // If the form is valid (which checks for modified first) then set the new page
    132146        // request to the parameter and call the form's post action via the submit method.
     
    135149                if(isFormValid())
    136150                {
    137                         if(isDefined(document.form.requestedPageURL)) document.form.requestedPageURL.value = url;
     151                        var requestedPageURLElement = document.form.requestedPageURL;
     152                        if(isDefined(requestedPageURLElement)) requestedPageURLElement.value = url;
    138153                        document.form.submit();
    139154                }
  • trunk/ibisph/src/main/java/org/ibisph/indicatorprofile/springmvc/databean/EditIndicatorViewDimensionValuesController.java

    r11875 r13316  
    2424  protected String categoryDimensionValuesModelName = "categoryDimensionValues";
    2525  protected String seriesDimensionValuesModelName   = "seriesDimensionValues";
     26  protected String constantDimensionValuesModelName = "constantDimensionValues";
    2627
    2728  /**
Note: See TracChangeset for help on using the changeset viewer.