Changeset 1505:7950fa72f6c4

Show
Ignore:
Timestamp:
03/09/10 20:31:21 (5 months ago)
Author:
Ferllings <cedric@…>
Branch:
default
Message:

[django] Started Admin visualisation section

Location:
src/domogik/ui/djangodomo/core
Files:
9 added
11 modified

Legend:

Unmodified
Added
Removed
  • src/domogik/ui/djangodomo/core/templates/admin/organization/rooms.html

    r1445 r1505  
    1515 
    1616# You should have received a copy of the GNU General Public License 
    17 # along with Domogik.  If not, see 
    18 <http://www.gnu.org/licenses/> 
    19 . 
    20  
    21 # Author : Cédric Trévisan <cedric@domogik.org> {% endcomment %} 
     17# along with Domogik.  If not, see <http://www.gnu.org/licenses/>. 
     18 
     19# Author : Cédric Trévisan <cedric@domogik.org> 
     20{% endcomment %} 
    2221 
    2322 
  • src/domogik/ui/djangodomo/core/templates/design/js/ui.action-binary.js

    r1023 r1505  
    1 function widgetmini_binary(widgetmini_id, function_id, widget_type) { 
     1function widgetmini_binary(widgetmini_id, function_id, widget_usage) { 
    22    $('#' + widgetmini_id).addClass('widgetmini_binary') 
    33        .click(function () {process_binary(function_id)}) 
    44        .keypress(function (e) {if (e.which == 13 || e.which == 32) {process_binary(function_id);}}) 
    5         .addClass('icon32-widget-' + widget_type) 
     5        .addClass('icon32-usage-' + widget_usage) 
    66        .addClass('binary_0') 
    77        .attr("tabindex", 0); 
    88} 
    99 
    10 function widget_binary(widget_id, function_id, widget_type) { 
     10function widget_binary(widget_id, function_id, widget_usage) { 
    1111    $('#' + widget_id).addClass('widget_binary') 
    12         .addClass('icon32-widget-' + widget_type) 
     12        .addClass('icon32-usage-' + widget_usage) 
    1313        .addClass('binary_0'); 
    1414    $('#' + widget_id + " .on").click(function () {process_binary(function_id, 1)}); 
  • src/domogik/ui/djangodomo/core/templates/design/js/ui.action-range.js

    r1039 r1505  
    1 function widgetmini_range(widgetmini_id, function_id, widget_type, min_value, max_value, default_value, unit) { 
     1function widgetmini_range(widgetmini_id, function_id, widget_usage, min_value, max_value, default_value, unit) { 
    22    var percent_value = (default_value / (max_value - min_value)) * 100; 
    33    $("#range_data").data(function_id, {min : min_value, max : max_value, value : default_value, unit : unit}); 
     
    2323 
    2424        $('#' + widgetmini_id + ' .range_value') 
    25             .addClass('icon32-widget-' + widget_type) 
     25            .addClass('icon32-usage-' + widget_usage) 
    2626            .toggle(function () {open_range(function_id)}, 
    2727                function () {close_range(function_id)}); 
     
    3030} 
    3131 
    32 function widget_range(widget_id, function_id, widget_type, min_value, max_value, default_value, unit) { 
     32function widget_range(widget_id, function_id, widget_usage, min_value, max_value, default_value, unit) { 
    3333    $('#' + widget_id).addClass('widget_range') 
    34         .addClass('icon32-widget-' + widget_type); 
     34        .addClass('icon32-usage-' + widget_usage); 
    3535    $('#' + widget_id + " .up").click(function () {plus_range(function_id)}); 
    3636    $('#' + widget_id + " .down").click(function () {minus_range(function_id)}); 
  • src/domogik/ui/djangodomo/core/templates/design/js/ui.icons.js

    r1317 r1505  
    11var area_icons = ["grndfloor", "firstfloor", "basement"]; 
    2 var room_icons = ["kitchen", "bedroom", "tvlounge", "bathroom", "office"]; 
     2var room_icons = ["kitchen", "bedroom", "tvlounge", "bathroom", "office", 'kidsroom']; 
  • src/domogik/ui/djangodomo/core/templates/design/skins/default/css/ui-icons.css

    r1488 r1505  
    2929.icon64-room-bathroom { background-image:url(../images/room/bathroom_64.png);} 
    3030.icon64-room-office { background-image:url(../images/room/office_64.png);} 
     31.icon64-room-kidsroom { background-image:url(../images/room/kidsroom_64.png);} 
    3132 
    3233.icon32-room- { background-image:url(../images/unknown_32.png);} 
     
    3637.icon32-room-bathroom { background-image:url(../images/room/default_room_32.png);} 
    3738.icon32-room-office { background-image:url(../images/room/default_room_32.png);} 
     39.icon32-room-kidsroom { background-image:url(../images/room/kidsroom_32.png);} 
    3840 
    3941.icon16-room- { background-image:url(../images/unknown_16.png);} 
     
    4345.icon16-room-bathroom { background-image:url(../images/room/default_room_16.png);} 
    4446.icon16-room-office { background-image:url(../images/room/default_room_16.png);} 
     47.icon16-room-kidsroom { background-image:url(../images/room/kidsroom_16.png);} 
    4548 
    4649/* Usage icons */ 
     
    8790 
    8891/* Status icons */ 
     92.icon64-status-true {background-image:url(../images/status/check_64.png);} 
     93.icon64-status-false {background-image:url(../images/status/wrong_64.png);} 
     94.icon64-status-active {background-image:url(../images/status/green_indicator_64.png);} 
     95.icon64-status-inactive {background-image:url(../images/status/grey_indicator_64.png);} 
     96.icon64-status-error {background-image:url(../images/status/wrong_64.png);} 
     97.icon64-status-ok {background-image:url(../images/status/check_64.png);} 
     98.icon64-status-info {background-image:url(../images/status/info_64.png);} 
     99 
     100.icon32-status-true {background-image:url(../images/status/check_32.png);} 
     101.icon32-status-false {background-image:url(../images/status/wrong_32.png);} 
     102.icon32-status-active {background-image:url(../images/status/green_indicator_32.png);} 
     103.icon32-status-inactive {background-image:url(../images/status/grey_indicator_32.png);} 
     104.icon32-status-error {background-image:url(../images/status/wrong_32.png);} 
     105.icon32-status-ok {background-image:url(../images/status/check_32.png);} 
     106.icon32-status-info {background-image:url(../images/status/info_32.png);} 
     107 
    89108.icon16-status-true {background-image:url(../images/status/check_16.png);} 
    90109.icon16-status-false {background-image:url(../images/status/wrong_16.png);} 
     
    93112.icon16-status-error {background-image:url(../images/status/wrong_16.png);} 
    94113.icon16-status-ok {background-image:url(../images/status/check_16.png);} 
     114.icon16-status-info {background-image:url(../images/status/info_16.png);} 
    95115 
    96116/* Tmp icons */ 
  • src/domogik/ui/djangodomo/core/templates/design/skins/default/css/ui-page-block.css

    r1486 r1505  
    1313} 
    1414 
    15 .block dl, .block dt, .block dd { 
    16     padding:0; 
    17     margin:0; 
    18 } 
    19  
    2015/* Header section */ 
    2116 
     
    2520    min-height: 64px; 
    2621    padding-bottom: 1em; 
     22    font-weight:normal; 
    2723} 
    2824 
     
    4642    background-position:left 50%; 
    4743    background-repeat:no-repeat; 
    48 } 
    49   
    50 .block .temp { 
    51     padding:0.5em 0.5em 0 32px; 
    52     font-size:1.5em; 
    53     float:right; 
    54     background-position:left 50%; 
    55     background-repeat:no-repeat; 
    56     line-height:32px; 
    57     min-height:32px; 
    5844} 
    5945 
  • src/domogik/ui/djangodomo/core/templates/design/skins/default/css/ui-page-section.css

    r1388 r1505  
    5353} 
    5454 
     55#messages.info { 
     56    background-color:#B0CEFF; 
     57    border:1px solid #003E99; 
     58} 
     59 
     60.instructions { 
     61    padding:1em 1em 1em 50px; 
     62    margin:1em 0 1em 0; 
     63    -moz-border-radius: 0.8em; 
     64    -webkit-border-radius: 0.8em; 
     65    background-position:left 50%; 
     66    background-repeat: no-repeat; 
     67    font-weight:bold; 
     68    font-style:italic; 
     69    background-color:#B0CEFF; 
     70    border:1px solid #003E99; 
     71} 
     72 
    5573/* Subsection */ 
    5674 
     
    6280    -webkit-border-radius: 0.8em; 
    6381    background-color:#eeeeee; 
     82} 
     83 
     84.subsection h2 { 
     85    padding-left:18px; 
     86    background-position:left 50%; 
     87    background-repeat: no-repeat; 
    6488} 
    6589 
  • src/domogik/ui/djangodomo/core/templates/layout_admin.html

    r1488 r1505  
    6464            <ul id="modules_list"> 
    6565            </ul> 
     66            <div class="subnav2"><a href="#">{% trans "Visualization" %}</a></div> 
     67            <ul> 
     68                <li><a href="{% url admin_visualization_devices_view %}" class='{{ nav2_visualization_devices }}'>{% trans "Devices" %}</a></li> 
     69            </ul> 
    6670        </div> 
    6771    </div> 
  • src/domogik/ui/djangodomo/core/templates/show/room.html

    r1488 r1505  
    6161                                                                openbutton: "#openextended_{{ device.id }}", 
    6262                                                        }); 
    63                             widgetmini_binary("widgetmini_{{ device.id }}1", "{{ device.id }}1", "light"); 
    64                             widget_binary("widget_{{ device.id }}1", "{{ device.id }}1", "light"); 
    65                             widgetmini_range("widgetmini_{{ device.id }}2", "{{ device.id }}2", "light", 0, 100, 12, '%'); 
    66                             widget_range("widget_{{ device.id }}2", "{{ device.id }}2", "light", 0, 100, 12, '%'); 
     63                            widgetmini_binary("widgetmini_{{ device.id }}1", "{{ device.id }}1", 1); 
     64                            widget_binary("widget_{{ device.id }}1", "{{ device.id }}1", 1); 
     65                            widgetmini_range("widgetmini_{{ device.id }}2", "{{ device.id }}2", 1, 0, 100, 12, '%'); 
     66                            widget_range("widget_{{ device.id }}2", "{{ device.id }}2", 1, 0, 100, 12, '%'); 
    6767                        }); 
    6868                    // ]]> 
  • src/domogik/ui/djangodomo/core/urls.py

    r1488 r1505  
    5656    url(r'admin/organization/house/$', 'admin_organization_house', name="admin_organization_house_view"), 
    5757    url(r'admin/module/(?P<module_name>\w+)/$', 'admin_modules_module', name="admin_modules_module_view"), 
     58    url(r'admin/visualization/device/$', 'admin_visualization_devices', name="admin_visualization_devices_view"), 
    5859 
    5960    url(r'show/$', 'show_house', name="show_view"), 
  • src/domogik/ui/djangodomo/core/views.py

    r1489 r1505  
    577577    area_id = room.area_id 
    578578    area_name = (__db.get_area_by_id(area_id)).name 
    579     page_title = _("Visualisation Dispositif") 
     579    page_title = _("View") 
    580580    return __go_to_page( 
    581581        request, 'show/device.html', 
     
    589589        house=resultHouse 
    590590    ) 
     591 
     592def admin_visualization_devices(request): 
     593    """ 
     594    Method called when the admin devices visualization page is accessed 
     595    @param request : HTTP request 
     596    @return an HttpResponse object 
     597    """ 
     598    if not __is_user_admin(request): 
     599        return index(request) 
     600 
     601    status = request.GET.get('status', '') 
     602    msg = request.GET.get('msg', '') 
     603    try: 
     604        resultAllRooms = Rooms.getAllWithDevices() 
     605        resultAllRooms.merge_uiconfig() 
     606    except ResourceNotAvailableException: 
     607        return render_to_response('error/ResourceNotAvailableException.html') 
     608         
     609    page_title = _("Devices visualization") 
     610    return __go_to_page( 
     611        request, 'admin/visualization/devices.html', 
     612        page_title, 
     613        nav1_admin = "selected", 
     614        nav2_visualization_devices = "selected", 
     615        status=status, 
     616        msg=msg, 
     617        rooms_list=resultAllRooms.room, 
     618    )