Changeset 57337

Show
Ignore:
Timestamp:
03/07/08 16:38:52 (3 months ago)
Author:
ischommer
Message:

simplier supplier network selection

Location:
modules/marketdemandmap/trunk
Files:
6 modified

Legend:

Unmodified
Added
Removed
  • modules/marketdemandmap/trunk/code/controller/DemandMap.php

    r57329 r57337  
    284284                        ), 
    285285                        new LiteralField('SupplierControl', $this->customise(array( 
    286                                 'PublicSuppliers' => Supplier::get_public() 
     286                                'PublicSupplierNetworks' => SupplierNetwork::get_public() 
    287287                        ))->renderWith('DemandSupplierControl_Suppliers')) 
    288288                ); 
  • modules/marketdemandmap/trunk/code/model/Supplier.php

    r56903 r57337  
    4040                return $this->SupplierNetworks('HideFromPublic = 0'); 
    4141        } 
    42          
     42 
    4343        /** 
    4444         * @param string $SQL_filter 
  • modules/marketdemandmap/trunk/code/model/SupplierNetwork.php

    r57007 r57337  
    116116        function getCombinedTitle() { 
    117117                $supplierTitle = $this->Supplier()->Title; 
    118                 return "{$this->Title} ({$supplierTitle})"; 
     118                return "{$supplierTitle}: {$this->Title}"; 
    119119        } 
    120120         
     
    135135        } 
    136136         
     137        /** 
     138         * @param string $SQL_filter 
     139         */ 
     140        public static function get_public($SQL_filter = null) { 
     141                $SQL_combinedFilter = 'Supplier.HideFromPublic = 0 AND SupplierNetwork.HideFromPublic = 0'; 
     142                if($SQL_filter) $SQL_combinedFilter .= ' AND ' . Convert::raw2sql($SQL_filter); 
     143                return DataObject::get( 
     144                        'SupplierNetwork',  
     145                        $SQL_combinedFilter, 
     146                        'Supplier.Title, SupplierNetwork.Title', 
     147                        'LEFT JOIN Supplier ON SupplierNetwork.SupplierID = Supplier.ID' 
     148                ); 
     149        } 
     150         
    137151} 
    138152?> 
  • modules/marketdemandmap/trunk/code/model/SupplyShape.php

    r57007 r57337  
    5757         
    5858        public function generatetile($request) { 
     59                // DEBUG 
     60                return false; 
     61                 
    5962                $RAW_filename = $_GET['tile']; // escaped in TileRenderer 
    6063 
  • modules/marketdemandmap/trunk/javascript/demandmap.SupplierControl.js

    r56945 r57337  
    2929                        $('.Actions .loadingIndicator', container).hide(); 
    3030                         
    31                         // hide all single subcategories 
    32                         $('.supplierList li.category', container).each(function() { 
    33                                 var subcategoryNodes = $('li.subcategory', this); 
    34                                 if(subcategoryNodes.length < 2) { 
    35                                         subcategoryNodes.hide(); 
    36                                 } else { 
    37                                         // hide colors on main category (displayed on subcategories now) 
    38                                         $(this).find('label .color').hide(); 
    39                                         $(this).find('ul label .color').show(); 
    40                                 } 
    41                         }); 
    42                          
    4331                        // events 
    44                         $('.supplierList .category :checkbox', container).bind('click', function(e) { 
    45                                 // @todo avoid multiple "too many selections" popup coming up 
    46                                 var categoryChecked = (e.target.checked); 
    47                                 $('.subcategory :checkbox', this.parentNode).each(function() { 
    48                                         this.checked = (categoryChecked) ? 'checked' : ''; 
    49                                         $(this).click(); 
    50                                 }); 
    51                         }); 
    52                         $('.supplierList .subcategory :checkbox', container).bind('click', function(e) { 
    53                                 if($('.supplierList .subcategory :checked', container).length > options.maxNetworkSelections) { 
     32                        $('.supplierList :checkbox', container).bind('click', function(e) { 
     33                                // count all already selected checkboxes 
     34                                if($('.supplierList :checked', container).length > options.maxNetworkSelections) { 
    5435                                        alert($.i18n._t('MAXSUPPLIERSELECTIONS')); 
    5536                                        e.target.checked = ''; 
    5637                                        return false; 
    5738                                } 
     39                                 
     40                                // make sure radiobutton "show netowkrs" is selected 
     41                                $(':radio[value=select networks]', container).click(); 
     42                                 
    5843                                var supplierID = e.target.value; 
    5944                                if(e.target.checked) { 
     
    6853                                return true; 
    6954                        }); 
     55                         
    7056                        // "show coverage" (toggling of all layers with fake ID '0') 
    7157                        // radiobutton selection: either "show coverage" or "select networks" 
  • modules/marketdemandmap/trunk/templates/Includes/DemandSupplierControl_Suppliers.ss

    r57330 r57337  
    1313        <div class="supplierList"> 
    1414                <ul> 
    15                 <% control PublicSuppliers %> 
    16                                 <li id="Supplier$ID" class="category"> 
    17                                         <input type="checkbox" name="Suppliers[]" id="SupplierID_$ID" value="$ID" class="checkbox category" /> 
    18                                         <label for="SupplierID_$ID"> 
    19                                                 <% control PublicSupplierNetworks %> 
    20                                                         <span class="color" style="background-color: $LayerColor;">&nbsp;</span> 
    21                                                 <% end_control %> 
    22                                                 $Title 
    23                                         </label> 
    24                                         <% if SupplierNetworks %> 
    25                                         <ul> 
    26                                                 <% control PublicSupplierNetworks %> 
    27                                                         <li id="SupplierNetwork$ID" class="subcategory $JSONData"> 
    28                                                                 <input type="checkbox" name="SupplierNetworks[]" id="SupplierNetworkID_$ID" value="$ID" class="checkbox subcategory" /> 
    29                                                                 <label for="SupplierNetworkID_$ID"> 
    30                                                                         <span class="color" style="background-color: $LayerColor;">&nbsp;</span>$Title 
    31                                                                 </label> 
    32                                                         </li> 
    33                                                 <% end_control %> 
    34                                         </ul> 
    35                                         <% end_if %> 
    36                                 </li> 
    37                         <% end_control %> 
     15                <% control PublicSupplierNetworks %> 
     16                        <li id="Supplier$ID" class="category"> 
     17                                <input type="checkbox" name="Suppliers[]" id="SupplierID_$ID" value="$ID" class="checkbox category" /> 
     18                                <label for="SupplierID_$ID"> 
     19                                        <span class="color" style="background-color: $LayerColor;">&nbsp;</span> 
     20                                        $CombinedTitle 
     21                                </label> 
     22                        </li> 
     23                <% end_control %> 
    3824                </ul> 
    3925                <p class="message"><small>Max. 3 suppliers</small></p>