Ignore:
Timestamp:
Jan 17, 2014, 11:20:56 PM (10 years ago)
Author:
rvelices
Message:

merge -r26837 from trunk to branch 2.6
admin rating improvements

  • use web service for deletion
  • use datatables for rating by user
  • use fontello icons
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2.6/admin/themes/default/template/rating_user.tpl

    r12796 r26838  
     1{combine_script id='jquery.dataTables' load='footer' path='themes/default/js/plugins/jquery.dataTables.js'}
     2{html_style}
     3.sorting { background: url({$ROOT_URL}themes/default/js/plugins/datatables/images/sort_both.png) no-repeat center right; cursor:pointer; }
     4.sorting_asc { background: url({$ROOT_URL}themes/default/js/plugins/datatables/images/sort_asc.png) no-repeat center right; }
     5.sorting_desc { background: url({$ROOT_URL}themes/default/js/plugins/datatables/images/sort_desc.png) no-repeat center right; }
     6
     7.sorting, .sorting_asc, .sorting_desc {
     8        padding: 3px 18px 3px 10px;
     9}
     10.sorting_asc_disabled { background: url({$ROOT_URL}themes/default/js/plugins/datatables/images/sort_asc_disabled.png) no-repeat center right; }
     11.sorting_desc_disabled { background: url({$ROOT_URL}themes/default/js/plugins/datatables/images/sort_desc_disabled.png) no-repeat center right; }
     12
     13.dtBar {
     14        text-align:left;
     15        padding-left: 20px;
     16}
     17{/html_style}
     18
    119<h2>{$ratings|@count} {'Users'|@translate}</h2>
    220
    321<form action="{$F_ACTION}" method="GET">
    422<fieldset>
     23<noscript>
    524        <label>{'Sort by'|@translate}
    625                <select name="order_by">
     
    827                </select>
    928        </label>
     29</noscript>
    1030        <label>{'Number of rates'|@translate}&gt;
    1131        <input type="text" size="5" name="f_min_rates" value="{$F_MIN_RATES}">
     
    1838
    1939{combine_script id='core.scripts' load='async' path='themes/default/js/scripts.js'}
    20 {footer_script}{literal}
    21 function del(elt,uid,aid)
    22 {
    23         if (!confirm({/literal}'{'Are you sure?'|@translate|@escape:'javascript'}'{literal}))
     40{footer_script}
     41var oTable = jQuery('#rateTable').dataTable({
     42        sDom : '<"dtBar"f>rt',
     43        bPaginate: false,
     44        aaSorting: [[4,'desc']],
     45        aoColumnDefs: [
     46                {
     47                        aTargets: ["dtc_user"],
     48                },
     49                {
     50                        aTargets: ["dtc_stat"],
     51                        asSorting: ["desc","asc"],
     52                        bSearchable: false
     53                },
     54                {
     55                        aTargets: ["dtc_rate"],
     56                        asSorting: ["desc","asc"],
     57                        bSearchable: false
     58                },
     59                {
     60                        aTargets: ["dtc_del"],
     61                        bSortable: false,
     62                        bSearchable: false
     63                }
     64        ]
     65});
     66
     67function del(elt,uid,aid){
     68        if (!confirm('{'Are you sure?'|@translate|@escape:'javascript'}'))
    2469                return false;
    2570        var tr = elt;
    2671        while ( tr.nodeName != "TR") tr = tr.parentNode;
    2772        tr = jQuery(tr).fadeTo(1000, 0.4);
    28         (new PwgWS({/literal}'{$ROOT_URL|@escape:javascript}'{literal})).callService(
    29                 'pwg.rates.delete', {user_id:uid, anonymous_id:aid},
     73
     74        (new PwgWS('{$ROOT_URL|@escape:javascript}')).callService(
     75                'pwg.rates.delete', { user_id:uid, anonymous_id:aid},
    3076                {
    3177                        method: 'POST',
    3278                        onFailure: function(num, text) { tr.stop(); tr.fadeTo(0,1); alert(num + " " + text); },
    33                         onSuccess: function(result) { if (result) {tr.remove();} else alert(result); }
     79                        onSuccess: function(result){
     80                                if (result)
     81                                        oTable.fnDeleteRow(tr[0]);
     82                                else
     83                                        alert(result);
     84                        }
    3485                }
    3586        );
     87       
    3688        return false;
    3789}
    38 {/literal}{/footer_script}
    39 <table>
     90{/footer_script}
     91<table id="rateTable">
     92<thead>
    4093<tr class="throw">
    41         <td>{'Username'|@translate}</td>
    42         <td>{'Number of rates'|@translate}</td>
    43         <td>{'Average rate'|@translate}</td>
    44         <td>{'Variation'|@translate}</td>
    45         <td>{'Consensus deviation'|@translate|@replace:' ':'<br>'}</td>
     94        <td class="dtc_user">{'Username'|@translate}</td>
     95        <td class="dtc_stat">{'Number of rates'|@translate}</td>
     96        <td class="dtc_stat">{'Average rate'|@translate}</td>
     97        <td class="dtc_stat">{'Variation'|@translate}</td>
     98        <td class="dtc_stat">{'Consensus deviation'|@translate|@replace:' ':'<br>'}</td>
    4699{foreach from=$available_rates item=rate}
    47         <td>{$rate}</td>
     100        <td class="dtc_rate">{$rate}</td>
    48101{/foreach}
    49         <td></td>
     102        <td class="dtc_del"></td>
    50103</tr>
     104</thead>
    51105{foreach from=$ratings item=rating key=user}
    52106<tr>
     
    63117                {/if}</td>
    64118        {/foreach}
    65         <td><a onclick="return del(this,{$rating.uid},'{$rating.aid}');"><img src="{$themeconf.admin_icon_dir}/delete.png" alt="[{'Delete'|@translate}]"></a></td>
     119        <td><a onclick="return del(this,{$rating.uid},'{$rating.aid}');" class="icon-trash"></a></td>
    66120</tr>
    67121{/foreach}
Note: See TracChangeset for help on using the changeset viewer.