ACC SHELL
/* ------------------------------------------------------------------------------
* Copyright (c) 2006 Novell, Inc. All Rights Reserved.
*
*
* This program is free software; you can redistribute it and/or modify it under
* the terms of version 2 of the GNU General Public License as published by the
* Free Software Foundation.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along with
* this program; if not, contact Novell, Inc.
*
* To contact Novell about this file by physical or electronic mail, you may find
* current contact information at www.novell.com.
* ------------------------------------------------------------------------------
*/
/**
* File: include/sudo/wizards.ycp
* Package: Configuration of sudo
* Summary: Wizards definitions
* Authors: Bubli <kmachalkova@suse.cz>
*
* $Id: wizards.ycp 27914 2006-02-13 14:32:08Z locilka $
*/
{
textdomain "sudo";
import "Sequencer";
import "Wizard";
include "sudo/complex.ycp";
include "sudo/dialogs.ycp";
include "sudo/dialog-spec.ycp";
include "sudo/dialog-user.ycp";
include "sudo/dialog-host.ycp";
include "sudo/dialog-runas.ycp";
include "sudo/dialog-cmnd.ycp";
/*
* Main workflow of sudo configuration
*/
any MainSequence() {
map aliases = $[
"configuration" : ``( RunSudoDialogs() ),
"user_spec_add" : ``( AddEditUserSpecDialog("Add") ),
"user_spec_edit" : ``( AddEditUserSpecDialog("Edit") ),
"user_spec_save" : ``( SaveUserSpec() ),
"user_alias_add" : ``( AddEditUserAliasDialog("Add") ),
"user_alias_edit" : ``( AddEditUserAliasDialog("Edit") ),
"user_alias_save" : ``( SaveUserAliases() ),
"host_alias_add" : ``( AddEditHostAliasDialog("Add") ),
"host_alias_edit" : ``( AddEditHostAliasDialog("Edit") ),
"host_alias_save" : ``( SaveHostAliases() ),
"runas_alias_add" : ``( AddEditRunAsAliasDialog("Add") ),
"runas_alias_edit" : ``( AddEditRunAsAliasDialog("Edit") ),
"runas_alias_save" : ``( SaveRunAsAliases() ),
"cmnd_alias_add" : ``(AddEditCmndAliasDialog("Add")),
"cmnd_alias_edit" : ``(AddEditCmndAliasDialog("Edit")),
];
map sequence = $[
"ws_start" : "configuration",
"configuration" : $[
`add_spec : "user_spec_add",
`edit_spec: "user_spec_edit",
`add_u_alias : "user_alias_add",
`edit_u_alias: "user_alias_edit",
`add_h_alias : "host_alias_add",
`edit_h_alias: "host_alias_edit",
`add_r_alias: "runas_alias_add",
`edit_r_alias: "runas_alias_edit",
`save_r_alias: "runas_alias_save",
`add_c_alias : "cmnd_alias_add",
`edit_c_alias: "cmnd_alias_edit",
`abort : `abort,
`next : `next,
],
"user_spec_add" : $[
`abort : `abort,
`next : "user_spec_save",
],
"user_spec_edit" : $[
`abort : `abort,
`next : "user_spec_save",
],
"user_spec_save" : $[
`abort : `abort,
`next : "configuration",
],
"user_alias_add" : $[
`abort : `abort,
`next : "user_alias_save",
],
"user_alias_edit" : $[
`abort : `abort,
`next : "user_alias_save",
],
"user_alias_save" : $[
`abort : `abort,
`next : "configuration",
],
"host_alias_add" : $[
`abort : `abort,
`next : "configuration",
],
"host_alias_edit" : $[
`abort : `abort,
`next : "configuration",
],
"runas_alias_add" : $[
`abort : `abort,
`next : "configuration",
],
"runas_alias_edit" : $[
`abort : `abort,
`next : "configuration",
],
"cmnd_alias_add" : $[
`abort : `abort,
`next : "configuration",
],
"cmnd_alias_edit" : $[
`abort : `abort,
`next : "configuration",
],
];
any ret = Sequencer::Run(aliases, sequence);
return ret;
}
/**
* Whole configuration of sudo
* @return sequence result
*/
any SudoSequence() {
map aliases = $[
"main" : ``( MainSequence() ),
"write" : [ ``( WriteDialog() ), true ]
];
map sequence = $[
"ws_start" : "main",
"main" : $[
`abort : `abort,
`next : "write"
],
"write" : $[
`abort : `abort,
`next : `next
]
];
Wizard::CreateDialog();
Wizard::SetDesktopIcon("sudo");
if (!Sudo::Read())
return `abort;
any ret = Sequencer::Run(aliases, sequence);
UI::CloseDialog();
return ret;
}
/* EOF */
}
ACC SHELL 2018