Ignore:
Timestamp:
Mar 5, 2014, 10:44:34 PM (10 years ago)
Author:
rvelices
Message:

autocomplete - privacy level for custom suggestions

File:
1 edited

Legend:

Unmodified
Added
Removed
  • extensions/rv_autocomplete/admin/custom.tpl

    r25546 r27564  
    2828<td>
    2929        <input id="ac_counter" type="text" size="3">
     30</td>
     31</tr>
     32
     33<tr>
     34<td>
     35<label for=ac_level>{'Privacy level'|@translate}:</label>
     36</td>
     37<td>
     38        <select id="ac_level">
     39        {foreach $available_permission_levels as $level=>$label}
     40                <option value="{$level}">{$label}</option>
     41        {/foreach}
     42        </select>
    3043</td>
    3144</tr>
     
    5467<thead>
    5568<tr class="throw">
    56 <th>{'Name'|@translate}</th>
    57 <th>{'Weight'|@translate}</th>
    58 <th>{'URL'|@translate}</th>
    59 <th>{'Actions'|@translate}</th>
     69<th class="dtc_Name">{'Name'|@translate}</th>
     70<th class="dtc_Weight">{'Weight'|@translate}</th>
     71<th class="dtc_Level">{'Privacy level'|@translate}</th>
     72<th class="dtc_Url">{'URL'|@translate}</th>
     73<th class="dtc_Actions">{'Actions'|@translate}</th>
    6074</tr>
    6175</thead>
     
    110124
    111125{footer_script}
    112 var iniDatas = [
    113 {foreach from=$suggestions item=s name=sloop}
    114 {ldelim}id:{$s.id},name:"{$s.name|@escape:javascript}",counter:{$s.counter},url:"{$s.url|@escape:javascript}",U_LINK:"{$s.U_LINK|@escape:javascript}"{rdelim}{if !$smarty.foreach.sloop.last},{/if}
    115 {/foreach}
    116 ];
    117 var SHelper = {ldelim}
    118 {literal}
    119 
    120 buildRowData: function(item) {
    121         var rowData = [];
    122         rowData.push(item.name);
    123         rowData.push(item.counter);
    124         rowData.push( "<a href=\""+item.U_LINK+"\" onclick=\"return SHelper.zoom(this.href)\">"
    125                 + (item.url ? item.url : "show" )
    126                 + "</a>"
    127         );
    128         rowData.push("<a href=\"\" onclick=\"return SHelper.del(this)\">Delete</a>"
    129                 + " <a href=\"\" onclick=\"return SHelper.edit(this)\">Edit</a>"
    130         );
    131         return rowData;
    132 },
    133 
    134 buildRow: function(item) {
    135         var rd = SHelper.buildRowData(item)
    136          , row = "<tr>";
    137          
    138         for (var i =0; i<rd.length; i++)
    139                 row += "<td>"+rd[i]+"</td>";
    140 
    141         row += "</tr>";
    142 
    143         return $(row).data("ac", item)
    144 },
     126var SHelper = {
    145127
    146128rowFromNode: function(node) {
     
    160142        if (!confirm("Are you sure?")) return false;
    161143        var row = SHelper.rowFromNode(node)
    162                 , item=row.data("ac");
     144                , item=dataTable.fnGetData(row[0]);
    163145               
    164146        row.fadeTo(500, 0.4);
    165147        (new PwgWS("")).callService(
    166                 "rvac.delCustom", {id: item.id} ,
     148                "rvac.delCustom", { id: item.id},
    167149                {
    168150                        method: "POST",
    169151                        onFailure: function(num, text) { row.stop(); row.fadeTo(0,1); alert(num + " " + text); },
    170152                        onSuccess: function(result) {
    171                                 // row.remove();
    172153                                dataTable.fnDeleteRow( row[0] );
    173154                        }
     
    180161add: function() {
    181162        $("#ac_name,#ac_counter,#ac_url").val( "" );
     163        $("#ac_level").val("0");
    182164        $("#acFormContainer")
    183                 .dialog("option", "buttons", [{text: "Create", click: function() {
     165                .dialog("option", "buttons", [{ text: "Create", click: function() {
    184166                                (new PwgWS("")).callService(
    185                                         "rvac.addCustom", { name:$("#ac_name").val(), counter:$("#ac_counter").val(), url:$("#ac_url").val() },
     167                                        "rvac.addCustom", { name:$("#ac_name").val(), counter:$("#ac_counter").val(), level:$("#ac_level").val(), url:$("#ac_url").val() },
    186168                                        {
    187169                                                method: "POST",
     
    190172                                                },
    191173                                                onSuccess: function(result) {
    192                                                         //$("#csTable").append( SHelper.buildRow(result) );
    193                                                         var rd = SHelper.buildRowData(result);
    194                                                         var node = dataTable.fnGetNodes( dataTable.fnAddData(rd)[0] );
    195                                                         $(node).data("ac", result);
    196 
     174                                                        dataTable.fnAddData(result);
    197175                                                        $("#ac_name,#ac_counter,#ac_url").val( "" );
    198176                                                }
     
    206184edit: function(node) {
    207185        var row = SHelper.rowFromNode(node)
    208                 , item=row.data("ac");
     186                , item=dataTable.fnGetData(row[0]);
    209187
    210188        $("#ac_name").val( item.name );
    211189        $("#ac_counter").val( item.counter );
     190        $("#ac_level").val( item.level );
    212191        $("#ac_url").val( item.url );
    213192
    214193        $("#acFormContainer")
    215                 .dialog("option", "buttons", [{text: "Modify", click: function() {
     194                .dialog("option", "buttons", [{ text: "Modify", click: function() {
    216195                                (new PwgWS("")).callService(
    217                                         "rvac.modCustom", {id: item.id, name:$("#ac_name").val(), counter:$("#ac_counter").val(), url:$("#ac_url").val() },
     196                                        "rvac.modCustom", { id: item.id, name:$("#ac_name").val(), counter:$("#ac_counter").val(), level:$("#ac_level").val(), url:$("#ac_url").val() },
    218197                                        {
    219198                                                method: "POST",
     
    222201                                                },
    223202                                                onSuccess: function(result) {
    224                                                         /*row.after( SHelper.buildRow(result) )
    225                                                                 .remove();*/
    226 
    227                                                         dataTable.fnUpdate(SHelper.buildRowData(result), row[0]);
    228                                                         row.data("ac", result);
    229 
     203                                                        dataTable.fnUpdate(result, row[0]);
    230204                                                        $("#acFormContainer").dialog("close");
    231205                                                }
     
    242216$().ready( function() {
    243217        var table = $("#csTable");
    244         $.each(iniDatas, function(i, item) {
    245                 table.append( SHelper.buildRow(item) );
    246         });
    247218        dataTable = table.dataTable( {
    248219                sDom : '<"dtBar"filp>rt<"dtBar"ilp>',
    249220                iDisplayLength: 100,
    250                 aoColumnDefs: [
    251                         { bSearchable: false, aTargets: [1,3] },
    252                         { bSortable: false, aTargets: [3] }
     221                aaData: [{foreach from=$suggestions item=s name=sloop}
     222{ldelim}id:{$s.id},name:"{$s.name|@escape:javascript}",counter:{$s.counter},level:{$s.level},url:"{$s.url|@escape:javascript}",U_LINK:"{$s.U_LINK|@escape:javascript}"{rdelim}{if !$smarty.foreach.sloop.last},{/if}
     223{/foreach}
     224],
     225                aoColumnDefs: [ {
     226                                aTargets: ["dtc_Name"],
     227                                mData: function(item) {
     228                                        return item.name;
     229                                }
     230                        },{
     231                                aTargets: ["dtc_Weight"],
     232                                bSearchable: false,
     233                                mData: function(item) {
     234                                        return item.counter;
     235                                }
     236                        },{
     237                                aTargets: ["dtc_Level"],
     238                                mData: function(item, type) {
     239                                        if ("sort"===type)
     240                                                return item.level;
     241                                        switch (item.level) {
     242                                        {foreach $available_permission_levels as $level=>$label}
     243                                                case {$level}:
     244                                                case "{$level}":
     245                                                        return "{$label|escape:'javascript'}";
     246                                        {/foreach}
     247                                        }
     248                                        return item.level;
     249                                }
     250                        },{
     251                                aTargets: ["dtc_Url"],
     252                                bSearchable: false,
     253                                mData: function(item) {
     254                                        return "<a href=\""+item.U_LINK+"\" onclick=\"return SHelper.zoom(this.href)\">"
     255                                                + (item.url ? item.url : "show" )
     256                                                + "</a>"
     257                                }
     258                        },{
     259                                aTargets: ["dtc_Actions"],
     260                                bSearchable: false,
     261                                bSortable: false,
     262                                mData: function(item) {
     263                                        return "<a href=\"\" onclick=\"return SHelper.del(this)\">Delete</a>"
     264                                                + " <a href=\"\" onclick=\"return SHelper.edit(this)\">Edit</a>"
     265                                }
     266                        }
    253267                ],
    254268                asStripeClasses: ["row1", "row2"],
     
    273287        );
    274288});
    275 {/literal}
    276289{/footer_script}
Note: See TracChangeset for help on using the changeset viewer.