- use write_string_param
- remove po files
- use common select.js from alterator-fbi
This commit is contained in:
Stanislav Ievlev 2008-05-13 12:24:22 +04:00
parent 1690ec101f
commit fb53498aac
7 changed files with 34 additions and 533 deletions
alterator-net-eth.spec
alterator-net-eth
backend3
design/scripts/net-eth
po
templates/net-eth
ui/net-eth

@ -2,7 +2,7 @@
Name: alterator-net-eth
Version: 2.1
Release: alt1
Release: alt2
Packager: Stanislav Ievlev <inger@altlinux.org>
@ -11,10 +11,11 @@ Source:%name-%version.tar
Summary: alterator module for tcp/ip connections configuration
License: GPL
Group: System/Configuration/Other
Requires: alterator >= 2.9 alterator-sh-functions libshell >= 0.0.1-alt4
Requires: alterator >= 2.9 alterator-sh-functions >= 0.3-alt2 libshell >= 0.0.1-alt4
Requires: alterator-net-common >= 0.2-alt3
Requires: alterator-net-wifi
Conflicts: alterator-fbi < 0.15-alt2
Conflicts: alterator-fbi < 2.4-alt3
Conflicts: alterator-browser-qt < 2.9.76-alt1
Provides: alterator-net-general = %version
Obsoletes: alterator-net-general
@ -54,7 +55,6 @@ alterator module for tcp/ip connections configuration
%files -f %name.lang
%_altdata_dir/applications/*
%_altdata_dir/templates/*
%_altdata_dir/design/*/*
%_altdata_dir/ui/*/
%_altdata_dir/help/*/*
%_alterator_backend3dir/*
@ -62,6 +62,11 @@ alterator module for tcp/ip connections configuration
%changelog
* Tue May 13 2008 Stanislav Ievlev <inger@altlinux.org> 2.1-alt2
- use write_string_param
- remove po files
- use common select.js from alterator-fbi
* Thu May 08 2008 Stanislav Ievlev <inger@altlinux.org> 2.1-alt1
- use enumref, fix constraints

@ -221,10 +221,11 @@ read_iface()
#collect general information
printf 'info "%s" ' "$(read_info)"
write_string_param info "$(read_info)"
write_string_param hw_binding "$(read_hw_binding "$name")"
write_string_param configuration "$(read_configuration "$ifacedir")"
printf 'wireless %s ' "$(ifcheckwireless "$name" && echo "#t" || echo "#f")"
printf 'hw_binding "%s" ' "$(read_hw_binding "$name")"
printf 'configuration "%s"' "$(read_configuration "$ifacedir")"
local addr= ip= mask=
[ ! -s "/$ifacedir/ipv4address" ] ||
@ -235,11 +236,12 @@ read_iface()
mask="${addr#$ip}"; mask="${mask#/}"
fi
printf 'ip "%s"' "$ip"
printf 'mask "%s"' "${mask:-24}"
write_string_param ip "$ip"
write_string_param mask "${mask:-24}"
[ ! -s "/$ifacedir/ipv4route" ] ||
printf 'default "%s"\n' \
write_string_param \
default \
$(grep '^default' "$ifacedir/ipv4route" | sed -r 's,default[[:space:]]+via[[:space:]],,' || echo "")
}
@ -342,14 +344,13 @@ on_message()
case "$in_action" in
constraints)
echo '('
printf 'hostname (required #t hostname #t label "%s" default "localhost.localdomain")\n' \
printf 'hostname (hostname #t label "%s" default "localhost.localdomain")\n' \
"`_ "Host name"`"
printf 'search (hostname #t label "%s")\n' \
"`_ "Search domains"`"
printf 'dns (ipv4-address #t label "%s")' \
"`_ "DNS servers"`"
printf 'configuration (exclude ("dhcp" ip) exclude ("off" ip))'
printf 'ip (required #t ipv4-address #t label "%s")' \
printf 'ip (ipv4-address #t label "%s")' \
"`_ "IP address"`"
printf 'default (ipv4-address #t label "%s")' \
"`_ "Default gateway"`"
@ -371,12 +372,12 @@ on_message()
[ -n "$name" ] || name="$(iflist|cut -f1 -d' '|head -n1)"
[ -n "$name" ] && read_iface "$name"
printf 'name "%s"' "$name"
printf 'ifname "%s"' "$name"
write_string_param name "$name"
write_string_param ifname "$name"
printf "hostname \"%s\"\n" "$(read_hostname)"
printf "dns \"%s\"\n" "$(read_dns)"
printf "search \"%s\"\n" "$(read_search)"
write_string_param hostname "$(read_hostname)"
write_string_param dns "$(read_dns)"
write_string_param search "$(read_search)"
echo ")"
;;

@ -1,172 +0,0 @@
function ciFindElementByName(lst,name)
{
for(var i =0;i<lst.length;++i)
if (lst[i].getAttribute('name') == name)
return lst[i];
return null;
}
function ciTargetName(form)
{
var inputs = form.getElementsByTagName('input');
for(var i=0;i<inputs.length;++i)
if ('name' == inputs[i].getAttribute('name'))
return inputs[i].getAttribute('value');
return null;
}
function ciAdjustInputs(rinputs,pinputs)
{
for(var i=0;i<rinputs.length;++i)
{
var input = rinputs[i];
if (input.type == 'text' || input.type == 'hidden')
{
var nvalue = ciFindElementByName(pinputs,input.name);
if (nvalue)
input.defaultValue = input.value = nvalue.getAttribute('value');
}
else if (input.type == 'checkbox')
{
var nvalue = ciFindElementByName(pinputs,input.name);
if (nvalue)//Note: there are no hasAttribute function in IE
input.defaultChecked = input.checked = nvalue.getAttribute('checked')?true:false;
}
}
}
function ciAdjustTextAreas(rinputs,pinputs)
{
for(var i=0;i<rinputs.length;++i)
{
var input = rinputs[i];
var nvalue = ciFindElementByName(pinputs,input.name);
if (nvalue)
input.defaultValue = input.value = nodeText(nvalue);
}
}
function ciAdjustSelects(rselects,pselects)
{
function clearOptions(select)
{
while(select.length > 0)
select.remove(select.length - 1);
}
function setupOptions(select,options)
{
for(var i = 0;i<options.length;++i)
{
var item = document.createElement('option');
item.text = nodeText(options[i]);
item.value = options[i].getAttribute('value');
item.defaultSelected = item.selected = options[i].getAttribute('selected')?true:false;
try{
select.add(item,null);
}catch(ex)
{
select.add(item);
}
}
}
for(var i = 0;i<rselects.length;++i)
{
var select = rselects[i];
var nvalue = ciFindElementByName(pselects,select.name);
if (!nvalue) continue;
clearOptions(select);
setupOptions(select,nvalue.getElementsByTagName('option'));
}
}
function ciAdjustAnchors(anchors,target)
{
if (!target) return;
var path=document.location.protocol +
'//' +
document.location.host ;
for(var i=0;i<anchors.length;++i)
{
var item = anchors[i];
if ('alterator-ref2' == item.getAttribute('class'))
item.setAttribute('href', path + item.getAttribute('href2') + '/' + target);
}
}
function ciAdjustSpans(rspans,pspans)
{
// span arrays may be different (because of translation spans)
var pi=0;
for (var ri=0; ri<rspans.length; ri++){
if ('alterator-label' == rspans[ri].getAttribute('class')){
while (('alterator-label' != pspans[pi].getAttribute('class')) && (pi<pspans.length)) pi++
rspans[ri].innerHTML = nodeText(pspans[pi]);
pi++;
}
}
}
function netEthAdjust(page)
{
//we assume that we only update field state here, no page changes
var pforms = page.getElementsByTagName('form');
var rforms = document.getElementsByTagName('form');
if (pforms.length != rforms.length) return;
for(var i=0;i<pforms.length;++i)
{
var current_pform = pforms[i];
var current_rform = rforms[i];
//select all normal inputs
ciAdjustInputs(current_rform.getElementsByTagName('input'),
current_pform.getElementsByTagName('input'));
ciAdjustTextAreas(current_rform.getElementsByTagName('textarea'),
current_pform.getElementsByTagName('textarea'));
ciAdjustSelects(current_rform.getElementsByTagName('select'),
current_pform.getElementsByTagName('select'));
ciAdjustSpans(current_rform.getElementsByTagName('span'),
current_pform.getElementsByTagName('span'));
ciAdjustAnchors(current_rform.getElementsByTagName('a'),
ciTargetName(current_pform));
}
document.body.style.cursor='default';
document.forms[0].elements['name'].style.cursor='default';
}
function initNetEth()
{
var has_async = makeXMLHttpRequest();
if (!has_async) return;
var form = document.getElementById('ajax-select');
if (!form) return;
var select = form.elements['name'];
var button = form.elements['select'];
if (!select || !button) return;
addEvent(select,'change',function() { document.body.style.cursor='wait';
document.forms[0].elements['name'].style.cursor='wait';
ajaxSubmit(netEthAdjust,'ajax-select','POST');});
button.style.display='none';
delete has_async;
}
//force loading without search
if (document.location.search)
document.location = document.location.protocol + "//" + document.location.host + document.location.pathname;
addEvent(window,'load',initNetEth);

@ -1,150 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2008-04-28 16:32+0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#.
#: ui/net-eth/index.scm:112
msgid "Host name:"
msgstr "Имя компьютера:"
#.
#: ui/net-eth/index.scm:120
msgid "DNS servers:"
msgstr "DNS-серверы:"
#.
#: ui/net-eth/index.scm:125
msgid "Search domains:"
msgstr "Домены поиска:"
#: ui/net-eth/index.scm:131
msgid "multiple values should be space separated"
msgstr "несколько значений записываются через пробел"
#: ui/net-eth/index.scm:139 стандартный ввод:2
msgid "Interfaces"
msgstr "Интерфейсы"
#.
#: ui/net-eth/index.scm:154 стандартный ввод:4
msgid "Status:"
msgstr "Состояние:"
#.
#: ui/net-eth/index.scm:158 стандартный ввод:5
msgid "Configuration:"
msgstr "Конфигурация:"
#.
#: ui/net-eth/index.scm:168 стандартный ввод:6
msgid "IP address:"
msgstr "IP-адрес:"
#.
#: ui/net-eth/index.scm:172 стандартный ввод:7
msgid "Netmask:"
msgstr "Маска сети:"
#.
#: ui/net-eth/index.scm:176 стандартный ввод:8
msgid "Default gateway:"
msgstr "Шлюз по умолчанию:"
#.
#: ui/net-eth/index.scm:180 стандартный ввод:9
msgid "Hardware binding:"
msgstr "Привязка:"
#: ui/net-eth/index.scm:185 стандартный ввод:10
msgid "Wireless settings..."
msgstr "Параметры для беспроводных интерфейсов..."
#: ui/net-eth/index.scm:203 стандартный ввод:11
msgid "Apply"
msgstr "Применить"
#: ui/net-eth/index.scm:204 стандартный ввод:12
msgid "Reset"
msgstr "Вернуть"
#: backend3/net-eth:147
msgid "missing"
msgstr "отсутствует"
#: backend3/net-eth:148
msgid "by MAC address"
msgstr "по аппаратному адресу (MAC)"
#: backend3/net-eth:149
msgid "by bus location"
msgstr "по местоположению на шине"
#: backend3/net-eth:154
msgid "Turned off"
msgstr "Выключено"
#: backend3/net-eth:155 backend3/net-eth:353
msgid "Use DHCP"
msgstr "Использовать DHCP"
#: backend3/net-eth:156
msgid "Manually"
msgstr "Вручную"
#: backend3/net-eth:187
msgid "interface is up"
msgstr "интерфейс включён"
#: backend3/net-eth:187
msgid "interface is down"
msgstr "интерфейс выключен"
#: backend3/net-eth:192
msgid "plugged"
msgstr "провод подсоединён"
#: backend3/net-eth:193
msgid "unplugged"
msgstr "провод отсоединён"
#: backend3/net-eth:347
msgid "Host name"
msgstr "Имя компьютера"
#: backend3/net-eth:349
msgid "Search domains"
msgstr "Домены поиска"
#: backend3/net-eth:351
msgid "DNS servers"
msgstr "DNS-серверы"
#: backend3/net-eth:355
msgid "IP address"
msgstr "IP-адрес"
#: backend3/net-eth:357
msgid "Default gateway"
msgstr "Шлюз по умолчанию"
#: стандартный ввод:1
msgid "IP interfaces"
msgstr "IP-интерфейсы"
#: стандартный ввод:3
msgid "Select"
msgstr "Выбрать"

@ -1,183 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2008-04-28 16:32+0400\n"
"PO-Revision-Date: 2007-08-13 20:57+0300\n"
"Last-Translator: Michael Shigorin <mike@altlinux.org>\n"
"Language-Team: Ukrainian <uk@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#.
#: ui/net-eth/index.scm:112
msgid "Host name:"
msgstr ""
#.
#: ui/net-eth/index.scm:120
msgid "DNS servers:"
msgstr ""
#.
#: ui/net-eth/index.scm:125
msgid "Search domains:"
msgstr ""
#: ui/net-eth/index.scm:131
msgid "multiple values should be space separated"
msgstr ""
#: ui/net-eth/index.scm:139 стандартный ввод:2
#, fuzzy
msgid "Interfaces"
msgstr "Інтерфейс"
#.
#: ui/net-eth/index.scm:154 стандартный ввод:4
msgid "Status:"
msgstr ""
#.
#: ui/net-eth/index.scm:158 стандартный ввод:5
msgid "Configuration:"
msgstr ""
#.
#: ui/net-eth/index.scm:168 стандартный ввод:6
#, fuzzy
msgid "IP address:"
msgstr "IP-адреса"
#.
#: ui/net-eth/index.scm:172 стандартный ввод:7
#, fuzzy
msgid "Netmask:"
msgstr "Мережева маска"
#.
#: ui/net-eth/index.scm:176 стандартный ввод:8
#, fuzzy
msgid "Default gateway:"
msgstr "Шлюз по змовчуванню"
#.
#: ui/net-eth/index.scm:180 стандартный ввод:9
msgid "Hardware binding:"
msgstr ""
#: ui/net-eth/index.scm:185 стандартный ввод:10
#, fuzzy
msgid "Wireless settings..."
msgstr "Налаштування бездротових інтерфейсів"
#: ui/net-eth/index.scm:203 стандартный ввод:11
msgid "Apply"
msgstr "Застосувати"
#: ui/net-eth/index.scm:204 стандартный ввод:12
msgid "Reset"
msgstr "Скинути"
#: backend3/net-eth:147
msgid "missing"
msgstr ""
#: backend3/net-eth:148
#, fuzzy
msgid "by MAC address"
msgstr "IP-адреса"
#: backend3/net-eth:149
msgid "by bus location"
msgstr ""
#: backend3/net-eth:154
msgid "Turned off"
msgstr ""
#: backend3/net-eth:155 backend3/net-eth:353
msgid "Use DHCP"
msgstr "Використовувати DHCP"
#: backend3/net-eth:156
msgid "Manually"
msgstr ""
#: backend3/net-eth:187
msgid "interface is up"
msgstr "інтерфейс піднято"
#: backend3/net-eth:187
msgid "interface is down"
msgstr "інтерфейс опущено"
#: backend3/net-eth:192
msgid "plugged"
msgstr "увімкнуто"
#: backend3/net-eth:193
msgid "unplugged"
msgstr "вимкнуто"
#: backend3/net-eth:347
msgid "Host name"
msgstr ""
#: backend3/net-eth:349
msgid "Search domains"
msgstr ""
#: backend3/net-eth:351
msgid "DNS servers"
msgstr ""
#: backend3/net-eth:355
msgid "IP address"
msgstr "IP-адреса"
#: backend3/net-eth:357
msgid "Default gateway"
msgstr "Шлюз по змовчуванню"
#: стандартный ввод:1
msgid "IP interfaces"
msgstr "IP-інтерфейси"
#: стандартный ввод:3
msgid "Select"
msgstr "Вибрати"
#~ msgid "Interface state"
#~ msgstr "Стан інтерфейсу"
#~ msgid "NetMask"
#~ msgstr "Мережева маска"
#~ msgid "Wireless settings"
#~ msgstr "Налаштування бездротових інтерфейсів"
#~ msgid "Interface"
#~ msgstr "Інтерфейс"
#, fuzzy
#~ msgid "DHCP"
#~ msgstr "Використовувати DHCP"
#~ msgid "apply current settings and restart interface"
#~ msgstr "застосувати поточні налаштування та рестартувати інтерфейс"
#~ msgid "Quit"
#~ msgstr "Вихід"
#~ msgid "IP interfaces administration"
#~ msgstr "Керування IP-інтерфейсами"
#~ msgid "Network"
#~ msgstr "Мережа"

@ -4,7 +4,7 @@
<head>
<title>IP interfaces - ALT Linux Console</title>
<script src="/design/scripts/submit.js"/>
<script src="/design/scripts/net-eth/select.js"/>
<script src="/design/scripts/select.js"/>
</head>
<body>
<h1><span translate="_">IP interfaces</span></h1>

@ -11,12 +11,12 @@
(and (string? name)
(let ((cmd (woo-read-first "/net-eth" 'ifname name)))
(hostname text (woo-get-option cmd 'hostname))
(dns text (woo-get-option cmd 'dns))
(search text (woo-get-option cmd 'search))
(hostname value (woo-get-option cmd 'hostname))
(dns value (woo-get-option cmd 'dns))
(search value (woo-get-option cmd 'search))
(iface-info text (woo-get-option cmd 'info))
(iface-ip text (woo-get-option cmd 'ip))
(iface-ip value (woo-get-option cmd 'ip))
(iface-mask value (woo-get-option cmd 'mask))
(iface-gw text (woo-get-option cmd 'default))
(iface-hw-binding value (woo-get-option cmd 'hw_binding))
@ -30,16 +30,16 @@
(and (string? name)
(woo-write/constraints
path
'hostname (hostname text)
'dns (dns text)
'search (search text)
'hostname (hostname value)
'dns (dns value)
'search (search value)
'ifname name
'ip (iface-ip text)
'ip (iface-ip value)
'mask (iface-mask value)
'hw_binding (iface-hw-binding value)
'configuration (iface-configuration value)
'default (iface-gw text))))
'default (iface-gw value))))
(define (commit-interface)
(let ((name (or (ifaces value) "")))