ACC SHELL

Path : /usr/share/YaST2/include/network/lan/
File Upload :
Current File : //usr/share/YaST2/include/network/lan/dhcp.ycp

/**
 * File:	include/network/lan/dhcp.ycp
 * Package:	Network configuration
 * Summary:	Network card adresss configuration dialogs
 * Authors:	Michal Svec <msvec@suse.cz>
 *
 * $Id: dhcp.ycp 57763 2009-06-26 11:33:45Z mzugec $
 */

{

textdomain "network";

import "Label";
import "NetworkConfig";
import "Popup";
import "Wizard";

include "network/routines.ycp";
include "network/lan/help.ycp";


void initDhclientOptions(string key) {
/*
    boolean dhclient_broadcast = false;

    if(issubstring(NetworkConfig::DHCP["DHCLIENT_ADDITIONAL_OPTIONS"]:"", "-B"))
        dhclient_broadcast = true;


    UI::ChangeWidget(`id(`broadcast), `Value, dhclient_broadcast);
*/
    UI::ChangeWidget(`id(`clientid), `Value, NetworkConfig::DHCP["DHCLIENT_CLIENT_ID"]:"");
    UI::ChangeWidget(`id(`hostname), `Value, NetworkConfig::DHCP["DHCLIENT_HOSTNAME_OPTION"]:"");
    UI::ChangeWidget(`id(`no_defaultroute), `Value, NetworkConfig::DHCP["DHCLIENT_SET_DEFAULT_ROUTE"]:true);

    disableItemsIfNM([ `broadcast, `clientid, `hostname, `no_defaultroute ], false);
}
 
void storeDhclientOptions(string key, map event) {

    NetworkConfig::DHCP["DHCLIENT_SET_DEFAULT_ROUTE"] =
			UI::QueryWidget(`id(`no_defaultroute), `Value) == true;
    NetworkConfig::DHCP["DHCLIENT_CLIENT_ID"] = UI::QueryWidget(`id(`clientid), `Value);
    NetworkConfig::DHCP["DHCLIENT_HOSTNAME_OPTION"] = UI::QueryWidget(`id(`hostname), `Value);
/*
    boolean dhclient_broadcast = UI::QueryWidget(`id(`broadcast), `Value) == true;

    string options = NetworkConfig::DHCP["DHCLIENT_ADDITIONAL_OPTIONS"]:"";
    if(options == nil) options = "";

    if(dhclient_broadcast && !issubstring(options, "-B")) {
        NetworkConfig::DHCP["DHCLIENT_ADDITIONAL_OPTIONS"] = options + " -B";
    }
    else 
    if(!dhclient_broadcast && issubstring(options, "-B")) {
        NetworkConfig::DHCP["DHCLIENT_ADDITIONAL_OPTIONS"] = regexpsub(options, "(.*)-B(.*)", "\\1\\2");
    }
*/

}

    /* Details dialog contents */
term contents = 
    /* Frame label */
    `Frame(_("DHCP Client Options"), `VBox(
        /* CheckBox label */
 //       `Left(`CheckBox(`id(`broadcast), _("Request Broad&cast Response"))),
//        `VSpacing(0.49),
        /* TextEntry label */
        `Left(`InputField(`id(`clientid), `opt(`hstretch), _("DHCP Client &Identifier"))),
        `VSpacing(0.49),
        /* TextEntry label */
        `Left(`InputField(`id(`hostname), `opt(`hstretch), _("&Hostname to Send"))),
        `VSpacing(0.49),
        `Left(`HBox(`CheckBox(`id(`no_defaultroute), _("Change Default Route via DHCP"))))
        )
    );

map<string, map<string,any> > widget_descr_dhclient = $[

    "DHCLIENT_OPTIONS" : $[
	"widget" : `custom,
	"custom_widget" : contents,
	"help" : help["dhclient_help"]:"",
	"init" : initDhclientOptions,
	"store": storeDhclientOptions,
    ]
];

}

ACC SHELL 2018