Add more fine-grained queue options
authormark <mark>
Mon, 17 Aug 2009 23:08:47 +0000 (23:08 +0000)
committermark <mark>
Mon, 17 Aug 2009 23:08:47 +0000 (23:08 +0000)
FS/FS/part_export/shellcommands.pm
FS/FS/part_export/shellcommands_withdomain.pm

index cec9619..7baf2da 100644 (file)
@@ -14,6 +14,9 @@ tie my %options, 'Tie::IxHash',
                  default=>'useradd -c $finger -d $dir -m -s $shell -u $uid -p $crypt_password $username'
                 #default=>'cp -pr /etc/skel $dir; chown -R $uid.$gid $dir'
                },
+  'useradd_no_queue' => { label=>'Run immediately',
+                          type => 'checkbox',
+                        },
   'useradd_stdin' => { label=>'Insert command STDIN',
                        type =>'textarea',
                        default=>'',
@@ -22,6 +25,9 @@ tie my %options, 'Tie::IxHash',
                  default=>'userdel -r $username',
                  #default=>'rm -rf $dir',
                },
+  'userdel_no_queue' => { label=>'Run immediately',
+                          type =>'checkbox',
+                        },
   'userdel_stdin' => { label=>'Delete command STDIN',
                        type =>'textarea',
                        default=>'',
@@ -35,6 +41,9 @@ tie my %options, 'Tie::IxHash',
                  #  'rm -rf $old_dir'.
                  #')'
                },
+  'usermod_no_queue' => { label=>'Run immediately',
+                          type =>'checkbox',
+                        },
   'usermod_stdin' => { label=>'Modify command STDIN',
                        type =>'textarea',
                        default=>'',
@@ -48,12 +57,18 @@ tie my %options, 'Tie::IxHash',
   'suspend' => { label=>'Suspension command',
                  default=>'usermod -L $username',
                },
+  'suspend_no_queue' => { label=>'Run immediately',
+                          type =>'checkbox',
+                        },
   'suspend_stdin' => { label=>'Suspension command STDIN',
                        default=>'',
                      },
   'unsuspend' => { label=>'Unsuspension command',
                    default=>'usermod -U $username',
                  },
+  'unsuspend_no_queue' => { label=>'Run immediately',
+                            type =>'checkbox',
+                          },
   'unsuspend_stdin' => { label=>'Unsuspension command STDIN',
                          default=>'',
                        },
@@ -65,9 +80,9 @@ tie my %options, 'Tie::IxHash',
                              'Radius group mapping to reason (via template user)',
                            type  => 'textarea',
                          },
-  'no_queue' => { label => 'Run command immediately',
-                   type  => 'checkbox',
-                },
+#  'no_queue' => { label => 'Run command immediately',
+#                   type  => 'checkbox',
+#                },
 ;
 
 %info = (
@@ -312,7 +327,7 @@ sub _export_command {
     stdin_string  => $stdin_string,
   );
 
-  if($self->option('no_queue')) {
+  if($self->option($action . '_no_queue')) {
     # discard return value just like freeside-queued.
     eval { ssh_cmd(@ssh_cmd_args) };
     $error = $@;
@@ -397,7 +412,7 @@ sub _export_replace {
     stdin_string  => $stdin_string,
   );
 
-  if($self->option('no_queue')) {
+  if($self->option('usermod_no_queue')) {
     # discard return value just like freeside-queued.
     eval { ssh_cmd(@ssh_cmd_args) };
     $error = $@;
index 448f0b7..916d328 100644 (file)
@@ -15,6 +15,9 @@ tie my %options, 'Tie::IxHash',
                        type =>'textarea',
                        #default=>"$_password\n$_password\n",
                      },
+  'useradd_no_queue' => { label => 'Run immediately',
+                 type  => 'checkbox',
+           },
   'userdel' => { label=>'Delete command',
                  #default=>'',
                },
@@ -22,6 +25,9 @@ tie my %options, 'Tie::IxHash',
                        type =>'textarea',
                        #default=>'',
                      },
+  'userdel_no_queue' => { label => 'Run immediately',
+                 type  => 'checkbox',
+           },
   'usermod' => { label=>'Modify command',
                  default=>'',
                },
@@ -29,6 +35,9 @@ tie my %options, 'Tie::IxHash',
                        type =>'textarea',
                        #default=>"$_password\n$_password\n",
                      },
+  'usermod_no_queue' => { label => 'Run immediately',
+                 type  => 'checkbox',
+           },
   'usermod_pwonly' => { label=>'Disallow username, domain, uid, dir and RADIUS group changes',
                         type =>'checkbox',
                       },
@@ -41,19 +50,22 @@ tie my %options, 'Tie::IxHash',
   'suspend_stdin' => { label=>'Suspension command STDIN',
                        default=>'',
                      },
+  'suspend_no_queue' => { label => 'Run immediately',
+                 type  => 'checkbox',
+           },
   'unsuspend' => { label=>'Unsuspension command',
                    default=>'',
                  },
   'unsuspend_stdin' => { label=>'Unsuspension command STDIN',
                          default=>'',
                        },
+  'unsuspend_no_queue' => { label => 'Run immediately',
+                 type  => 'checkbox',
+           },
   'crypt' => { label   => 'Default password encryption',
                type=>'select', options=>[qw(crypt md5)],
                default => 'crypt',
              },
-  'no_queue' => { label => 'Run command immediately',
-                 type  => 'checkbox',
-           },
 ;
 
 %info = (
@@ -90,13 +102,14 @@ the same username with different domains.  You will need to
   <LI><INPUT TYPE="button" VALUE="MagicMail" onClick='
     this.form.useradd.value = "/usr/bin/mm_create_email_service -e $svcnum -d $domain -u $username -p $quoted_password -f $first -l $last -m $svcnum -g EMAIL";
     this.form.useradd_stdin.value = "";
+    this.form.useradd_no_queue.checked = 1;
     this.form.userdel.value = "/usr/bin/mm_delete_user -e ${username}\\\@${domain}";
     this.form.userdel_stdin.value = "";
+    this.form.userdel_no_queue.checked = 1;
     this.form.suspend.value = "/usr/bin/mm_suspend_user -e ${username}\\\@${domain}";
     this.form.suspend_stdin.value = "";
     this.form.unsuspend.value = "/usr/bin/mm_activate_user -e ${username}\\\@${domain}";
     this.form.unsuspend_stdin.value = "";
-    this.form.no_queue.checked = 1;
   '>
 </UL>