groupedit revision 256181
1258070Spjd#!/bin/sh
2258070Spjd#-
3258070Spjd# Copyright (c) 2012 Ron McDowell
4258070Spjd# Copyright (c) 2012-2013 Devin Teske
5258070Spjd# All rights reserved.
6258070Spjd#
7258070Spjd# Redistribution and use in source and binary forms, with or without
8258070Spjd# modification, are permitted provided that the following conditions
9258070Spjd# are met:
10258070Spjd# 1. Redistributions of source code must retain the above copyright
11258070Spjd#    notice, this list of conditions and the following disclaimer.
12258070Spjd# 2. Redistributions in binary form must reproduce the above copyright
13258070Spjd#    notice, this list of conditions and the following disclaimer in the
14258070Spjd#    documentation and/or other materials provided with the distribution.
15258070Spjd#
16258070Spjd# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
17258070Spjd# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18258070Spjd# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19258070Spjd# ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
20258070Spjd# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21258070Spjd# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
22258070Spjd# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23258070Spjd# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24258070Spjd# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25258070Spjd# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26258070Spjd# SUCH DAMAGE.
27258070Spjd#
28258070Spjd# $FreeBSD: head/usr.sbin/bsdconfig/usermgmt/groupedit 256181 2013-10-09 08:12:26Z dteske $
29258070Spjd#
30258070Spjd############################################################ INCLUDES
31258070Spjd
32285063SoshogboBSDCFG_SHARE="/usr/share/bsdconfig"
33285063Soshogbo. $BSDCFG_SHARE/common.subr || exit 1
34258070Spjdf_dprintf "%s: loading includes..." "$0"
35258070Spjdf_include $BSDCFG_SHARE/dialog.subr
36258070Spjdf_include $BSDCFG_SHARE/mustberoot.subr
37258070Spjdf_include $BSDCFG_SHARE/usermgmt/group_input.subr
38258070Spjd
39258070SpjdBSDCFG_LIBE="/usr/libexec/bsdconfig" APP_DIR="070.usermgmt"
40258070Spjdf_include_lang $BSDCFG_LIBE/$APP_DIR/include/messages.subr
41258070Spjd
42258070Spjdipgm=$( f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" )
43258070Spjd[ $? -eq $SUCCESS -a "$ipgm" ] && pgm="$ipgm"
44258070Spjd
45258070Spjd############################################################ MAIN
46258070Spjd
47258070Spjd# Incorporate rc-file if it exists
48258070Spjd[ -f "$HOME/.bsdconfigrc" ] && f_include "$HOME/.bsdconfigrc"
49258070Spjd
50258070Spjd#
51258070Spjd# Process command-line arguments
52258070Spjd#
53258070Spjdwhile getopts h$GETOPTS_STDARGS flag; do
54258070Spjd	case "$flag" in
55258070Spjd	h|\?) f_usage $BSDCFG_LIBE/$APP_DIR/USAGE "PROGRAM_NAME" "$pgm" ;;
56258070Spjd	esac
57258070Spjddone
58258070Spjdshift $(( $OPTIND - 1 ))
59258070Spjd
60258070Spjd#
61258070Spjd# Initialize
62258070Spjd#
63258070Spjdf_dialog_title "$msg_edit_view $msg_group"
64258070Spjdf_dialog_backtitle "${ipgm:+bsdconfig }$pgm"
65258070Spjdf_mustberoot_init
66258070Spjd
67258070Spjd#
68258070Spjd# Loop until the user Exits, Cancels or presses ESC
69258070Spjd#
70258070Spjddefaultitem=""
71258070Spjdwhile :; do
72258070Spjd	f_dialog_menu_group_list "$defaultitem"
73258070Spjd	retval=$?
74258070Spjd	f_dialog_menutag_fetch mtag
75258070Spjd	f_dprintf "retval=%s mtag=[%s]" $retval "$mtag"
76258070Spjd	defaultitem="$mtag"
77258070Spjd
78258070Spjd	[ $retval -eq $DIALOG_OK ] || f_die
79258070Spjd
80258070Spjd	[ "$mtag" = "X $msg_exit" ] && break
81258070Spjd
82258070Spjd	# Anything else is a group name
83258070Spjd
84258070Spjd	$BSDCFG_LIBE/$APP_DIR/groupinput \
85258070Spjd		${USE_XDIALOG:+-X} mode="Edit/View" group="$mtag"
86258070Spjddone
87258070Spjd
88258070Spjdexit $SUCCESS
89258070Spjd
90258070Spjd################################################################################
91258070Spjd# END
92258070Spjd################################################################################
93258070Spjd