tazbug annotate tazbug-box @ rev 49

Add a small dashboard plugin and misc fixes
author Christophe Lincoln <pankso@slitaz.org>
date Sun Jan 05 00:01:34 2014 +0100 (2014-01-05)
parents 4e45eb4505eb
children 02a11d8d636e
rev   line source
pankso@6 1 #!/bin/sh
pankso@6 2 #
paul@17 3 # SliTaz Bug GUI tool. All the account's parts may move to slitaz-account
pankso@6 4 # if we use it for other sites and services so we use one centralized
pankso@6 5 # SliTaz account.
pankso@6 6 #
pankso@6 7 # Copyright (C) 2012 SliTaz GNU/Linux - BSD License
pankso@6 8 #
pankso@6 9 # Authors : Christophe Lincoln <pankso@slitaz.org>
pankso@6 10 #
pankso@6 11 [ -f "/etc/slitaz/tazbug.conf" ] && . /etc/slitaz/tazbug.conf
pankso@6 12 [ -f "tazbug.conf" ] && . tazbug.conf
pankso@6 13
pankso@6 14 opts="--window-icon=/usr/share/pixmaps/slitaz-icon.png --center \
pankso@6 15 --image=slitaz-icon --image-on-top --width=480 --height=340"
pankso@6 16
pankso@6 17 # Internationalization: $(gettext "")
pankso@6 18 . /usr/bin/gettext.sh
pankso@6 19 TEXTDOMAIN='tazbug'
pankso@6 20 export TEXTDOMAIN
pankso@6 21
pankso@6 22 #
pankso@6 23 # Functions
pankso@6 24 #
pankso@6 25
pankso@6 26 # Output cmd in GTK box.
pankso@6 27 output() {
pankso@6 28 yad $opts --text-info --text="<b>SliTaz Bug</b>" --title="SliTaz Bug" \
pankso@16 29 --margins=8 --tail --button="$(gettext "My account"):0" \
pankso@16 30 --button="gtk-close":1
pankso@16 31 case $? in
pankso@16 32 0) $0 account ;;
pankso@16 33 1) exit 0 ;;
pankso@16 34 esac
pankso@6 35 }
pankso@6 36
pankso@6 37 # New message box
pankso@6 38 new_msg_main() {
pankso@6 39 yad --form $opts \
pankso@6 40 --title="Bug message" \
pankso@6 41 --text="<b>SliTaz Bugs Message</b>" \
pankso@6 42 --field="$(gettext "Bug ID")":NUM \
pankso@6 43 --field="$(gettext "Message")":TXT \
pankso@16 44 --button="$(gettext "New bug"):2" \
pankso@6 45 --button="$(gettext "Send message"):0" \
pankso@6 46 --button="gtk-close:1"
pankso@6 47 }
pankso@6 48
pankso@6 49 # New message main function
pankso@6 50 new_msg() {
pankso@6 51 # Store box results
pankso@6 52 main=$(new_msg_main)
pankso@6 53 ret=$?
pankso@6 54 # Deal with --button values
pankso@6 55 case $ret in
pankso@6 56 1) exit 0 ;;
pankso@16 57 2) $0 new-bug && exit 0 ;;
pankso@6 58 *) continue ;;
pankso@6 59 esac
pankso@6 60 id="$(echo $main | cut -d "|" -f 1 | cut -d "," -f 1)"
pankso@6 61 msg="$(echo $main | cut -d "|" -f 2)"
pankso@6 62 if [ "$msg" ]; then
pankso@6 63 tazbug new-msg --bug=$id --msg="$msg" | output
pankso@6 64 fi
pankso@6 65 }
pankso@6 66
pankso@6 67 # New bug box
pankso@6 68 new_bug_main() {
pankso@6 69 yad --form $opts \
pankso@6 70 --title="Bug report" \
pankso@6 71 --text="<b>SliTaz Bug Report</b>" \
pankso@6 72 --field="$(gettext "Bug title")" \
pankso@6 73 --field="$(gettext "Priority")":CB \
pankso@6 74 --field="$(gettext "Packages")" \
pankso@6 75 --field="$(gettext "Description")":TXT \
pankso@6 76 --button="$(gettext "My account"):3" \
pankso@6 77 --button="$(gettext "New message"):2" \
pankso@6 78 --button="$(gettext "Send bug"):0" \
pankso@6 79 --button="gtk-close:1" \
pankso@6 80 "" "standard!critical" "" ""
pankso@6 81 }
pankso@6 82
pankso@6 83 # New bug main function
pankso@6 84 new_bug() {
pankso@6 85 # Store box results
pankso@6 86 main=$(new_bug_main)
pankso@6 87 ret=$?
pankso@6 88 # Deal with --button values
pankso@6 89 case $ret in
pankso@6 90 1) exit 0 ;;
pankso@6 91 2) $0 new-msg && exit 0 ;;
pankso@6 92 3) $0 account && exit 0 ;;
pankso@6 93 *) continue ;;
pankso@6 94 esac
pankso@6 95 bug="$(echo $main | cut -d "|" -f 1)"
pankso@6 96 desc="$(echo $main | cut -d "|" -f 4)"
pankso@6 97 priority="$(echo $main | cut -d "|" -f 2)"
pankso@6 98 pkgs="$(echo $main | cut -d "|" -f 3)"
pankso@6 99 if [ "$bug" ] && [ "$desc" ]; then
pankso@6 100 tazbug new-bug --bug="$bug" --desc="$desc" --priority=$priority \
pankso@26 101 --pkgs="$pkgs" | output
pankso@6 102 fi
pankso@6 103 }
pankso@6 104
pankso@6 105 # Account information.
pankso@6 106 account_info() {
pankso@6 107 . $HOME/.config/slitaz/account.conf
pankso@16 108 cat << EOT
pankso@16 109 $(gettext "Real name")
pankso@16 110 $NAME
pankso@16 111 $(gettext "User name")
pankso@16 112 $USER
pankso@16 113 Email
pankso@16 114 $MAIL
pankso@16 115 $(gettext "Secure key")
pankso@16 116 $KEY
pankso@16 117 EOT
pankso@6 118 }
pankso@6 119
pankso@6 120 # Main GUI box function with pure Yad spec
pankso@6 121 account_main() {
pankso@6 122 account_info | yad --list $opts \
pankso@6 123 --title="Bugs account" \
pankso@6 124 --text="<b>SliTaz Bugs Account</b>" \
pankso@6 125 --column "$(gettext "Account")" \
pankso@6 126 --column "$(gettext "Value")" \
pankso@6 127 --dclick-action="" \
pankso@6 128 --button="$(gettext "Online bugs"):2" \
pankso@6 129 --button="$(gettext "New bug"):3" \
pankso@6 130 --button="$(gettext "New message"):4" \
pankso@6 131 --button="gtk-close:1"
pankso@6 132 }
pankso@6 133
pankso@6 134 # This is a function, usually the same name as the command if scripts
pankso@6 135 # have multiple commands and options.
pankso@6 136 account() {
pankso@6 137 # Store box results
pankso@6 138 main=$(account_main)
pankso@6 139 ret=$?
pankso@6 140 # Deal with --button values
pankso@6 141 case $ret in
pankso@6 142 1) exit 0 ;;
pankso@6 143 2) browser $WEB_URL && exit 0 ;;
pankso@6 144 3) $0 new-bug && exit 0 ;;
pankso@6 145 4) $0 new-msg && exit 0 ;;
pankso@6 146 *) continue ;;
pankso@6 147 esac
pankso@6 148 }
pankso@6 149
pankso@6 150 # Signup GUI box function with pure Yad spec
pankso@6 151 signup_main() {
pankso@6 152 yad --form $opts --borders=4 \
pankso@6 153 --title="Bugs Signup" \
pankso@6 154 --text="<b>SliTaz Bugs Signup</b>" \
pankso@6 155 --field="$(gettext "Real name")" \
pankso@6 156 --field="$(gettext "Login name")" \
pankso@6 157 --field="$(gettext "Email")" \
pankso@6 158 --field="$(gettext "Password")":H \
pankso@6 159 --button="gtk-ok:0" \
pankso@6 160 --button="gtk-close:1"
pankso@6 161 }
pankso@6 162
pankso@6 163 # Signup main function
pankso@6 164 signup() {
pankso@6 165 # Store box results
pankso@6 166 main=$(signup_main)
pankso@6 167 ret=$?
pankso@6 168 # Deal with --button values
pankso@6 169 case $ret in
pankso@6 170 1) exit 0 ;;
pankso@6 171 2) browser http://bugs.slitaz.org/ && exit 0 ;;
pankso@6 172 *) continue ;;
pankso@6 173 esac
pankso@6 174 name="$(echo $main | cut -d "|" -f 1)"
pankso@6 175 user="$(echo $main | cut -d "|" -f 2)"
pankso@6 176 mail="$(echo $main | cut -d "|" -f 3)"
pankso@6 177 pass="$(echo $main | cut -d "|" -f 4)"
pankso@16 178 tazbug signup --name="$name" --user=$user --mail=$mail \
pankso@6 179 --pass="$pass" | output
pankso@6 180 }
pankso@6 181
pankso@6 182 #
pankso@6 183 # Script commands
pankso@6 184 #
pankso@6 185
pankso@6 186 case "$1" in
pankso@6 187 usage|help)
pankso@6 188 echo "Usage: $(basename $0) [new-msg|new-bug|account|signup]" ;;
pankso@6 189 new-msg)
pankso@6 190 new_msg ;;
pankso@6 191 account)
pankso@6 192 account ;;
pankso@6 193 signup)
pankso@6 194 signup ;;
pankso@6 195 *)
pankso@15 196 if [ ! -f $HOME/.config/slitaz/account.conf ]; then
pankso@6 197 signup
pankso@6 198 fi
pankso@6 199 new_bug ;;
pankso@6 200 esac
pankso@6 201
pankso@6 202 exit 0
pankso@6 203