summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 5c928f7)
raw | patch | inline | side by side (parent: 5c928f7)
author | hickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8> | |
Wed, 19 Dec 2007 14:54:17 +0000 (14:54 +0000) | ||
committer | hickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8> | |
Wed, 19 Dec 2007 14:54:17 +0000 (14:54 +0000) |
-Added PhoneAccounts to multiple edit pluigns.
-Some checks and improvements are still missing.
git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@8152 594d385d-05f5-0310-b6e9-bd551577e9d8
-Some checks and improvements are still missing.
git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@8152 594d385d-05f5-0310-b6e9-bd551577e9d8
gosa-core/plugins/gofon/phoneaccount/class_phoneAccount.inc | patch | blob | history | |
gosa-core/plugins/gofon/phoneaccount/generic.tpl | patch | blob | history |
diff --git a/gosa-core/plugins/gofon/phoneaccount/class_phoneAccount.inc b/gosa-core/plugins/gofon/phoneaccount/class_phoneAccount.inc
index 6871854ed0ca6e340c17d13bae1fa597766bb164..23d2031e384c4864b839d7d835b8923b23ee4c3a 100644 (file)
var $uid;
var $view_logged = FALSE;
+ var $multiple_support = TRUE;
function phoneAccount (&$config, $dn= NULL, $parent= NULL)
{
/* Check if makro has been removed */
if(!isset($this->macros[$this->macro])){
$this->macrostillavailable = false;
+ echo "1";
}else{
$this->macrostillavailable = true;
}
/* Check if macro has been removed */
if(!isset($this->macroarray[$this->macro])){
$this->macrostillavailable = false;
+ echo "2";
}else{
$this->macrostillavailable = true;
}
$this->is_account= !$this->is_account;
}
+ /* Do we represent a valid account? */
+ if (!$this->is_account && $this->parent === NULL){
+ $display= "<img alt=\"\" src=\"images/stop.png\" align=\"middle\"> <b>".
+ _("This account has no phone extensions.")."</b>";
+ $display.= back_to_main();
+ return($display);
+ }
+
+ $display= "";
+
+ /* Show tab dialog headers */
+
+ if (!$this->multiple_support_active && $this->parent !== NULL){
+ if ($this->is_account){
+ $display= $this->show_disable_header(_("Remove phone account"),
+ _("This account has phone features enabled. You can disable them by clicking below."));
+ } else {
+ if(empty($this->uid)){
+ $display= $this->show_enable_header(_("Create phone account"),
+ _("This account has phone features disabled. You can't enable them while no uid is set."),TRUE,TRUE);
+ }else{
+ $display= $this->show_enable_header(_("Create phone account"),
+ _("This account has phone features disabled. You can enable them by clicking below."));
+ }
+ return ($display);
+ }
+ }
/* Select no macro if, state is empty, this is the case, if the selected macro is no longer available */
if(empty($this->macro)){
$this->macro ="none";
$smarty->assign("macrotab",$macrotab);
- /* Do we represent a valid account? */
- if (!$this->is_account && $this->parent === NULL){
- $display= "<img alt=\"\" src=\"images/stop.png\" align=\"middle\"> <b>".
- _("This account has no phone extensions.")."</b>";
- $display.= back_to_main();
- return($display);
- }
-
- $display= "";
- /* Show tab dialog headers */
- if ($this->parent !== NULL){
- if ($this->is_account){
- $display= $this->show_disable_header(_("Remove phone account"),
- _("This account has phone features enabled. You can disable them by clicking below."));
- } else {
- if(empty($this->uid)){
- $display= $this->show_enable_header(_("Create phone account"),
- _("This account has phone features disabled. You can't enable them while no uid is set."),TRUE,TRUE);
- }else{
- $display= $this->show_enable_header(_("Create phone account"),
- _("This account has phone features disabled. You can enable them by clicking below."));
- }
- return ($display);
- }
- }
-
/* Add phone number */
if (isset($_POST["add_phonenumber"]) && $_POST['phonenumber']){
if (is_phone_nr($_POST['phonenumber'])){
$hl.= "</select>\n";
$smarty->assign ("hardware_list", $hl);
+
+ foreach($this->attributes as $attr){
+ if(in_array($attr,$this->multi_boxes)){
+ $smarty->assign("use_".$attr,TRUE);
+ }else{
+ $smarty->assign("use_".$attr,FALSE);
+ }
+ }
+
/* Show main page */
$this->lastmacro = $this->macro;
+ $smarty->assign("multiple_support",$this->multiple_support_active);
$display.= $smarty->fetch(get_template_path('generic.tpl', TRUE, dirname(__FILE__)));
return($display);
}
"goFonVoicemailPIN" => _("Voicemail pin"))
));
}
+
+
+
+ function multiple_execute()
+ {
+ plugin::multiple_execute();
+ return($this->execute());
+ }
+
+ function get_multi_init_values()
+ {
+ $ret = plugin::get_multi_init_values();
+ $ret['phoneNumbers'] = array();
+ foreach($this->phoneNumbers as $number){
+ $ret['phoneNumbers'][] = $number." [".$this->attrs['cn'][0]."]";
+ }
+ $ret['phoneNumbers']['count'] = count($ret['phoneNumbers']);
+ return($ret);
+ }
+
+ function init_multiple_support($attrs,$all)
+ {
+ plugin::init_multiple_support($attrs,$all);
+
+ $this->phoneNumbers = array();
+ if(isset($all['phoneNumbers'])){
+ for($i = 0 ; $i < $all['phoneNumbers']['count'] ; $i++){
+ $this->phoneNumbers[$all['phoneNumbers'][$i]] = $all['phoneNumbers'][$i];
+ }
+ }
+ }
+
+ function multiple_save_object()
+ {
+ /* Simply call parents save_object */
+ $this->save_object();
+ echo "<pre>Not finsihed yet
+ Checks, Save_object anpassen.
+ Tests.
+ </pre>";
+ }
+
+ function get_multi_edit_values()
+ {
+ $ret = plugin::get_multi_edit_values();
+ if(in_array("macro",$this->multi_boxes)){
+ $ret['macro'] = $this->macro;
+ $ret['macroarray'] = $this->macroarray;
+ $ret['macros'] = $this->macros;
+ }
+ return($ret);
+ }
}
// vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
diff --git a/gosa-core/plugins/gofon/phoneaccount/generic.tpl b/gosa-core/plugins/gofon/phoneaccount/generic.tpl
index f034afeb7157b7b747474590a1a710078c0749c7..9680c93081c292fd2085853a5cd5790e2350d515 100644 (file)
<img class="center" alt="" align="middle" src="images/banana.png" />
{t}Phone numbers{/t}
</h2>
+
+{if $multiple_support}
+
+ <select style="width:100%;" name="dummy1" size=7 >
+ {html_options options=$phoneNumbers}
+ <option disabled> </option>
+ </select>
+
+{else}
+
{render acl=$telephoneNumberACL}
<select style="width:100%;" name="phonenumber_list[]" size=7 multiple>
{html_options options=$phoneNumbers}
{render acl=$telephoneNumberACL}
<input type="submit" value="{t}Delete{/t}" name="delete_phonenumber">
{/render}
+
+{/if}
</td>
<td style="vertical-align:top; width:50%;">
<table summary="" style="width:100%" border=0>
<h2><img class="center" alt="" align="middle" src="images/hardware.png" /> {t}Telephone hardware{/t}</h2>
<table summary="{t}Telephone{/t}" border=0>
+ {if !$multiple_support}
<tr>
- <td>{t}Telephone{/t}</td>
- <td>{$hardware_list}</td>
+ <td>
+ {t}Telephone{/t}
+ </td>
+ <td>
+ {$hardware_list}
+ </td>
</tr>
+ {/if}
<tr>
<td>{t}Home server{/t}{$must}
</td>
<td>
-{render acl=$goFonHomeServerACL}
+{render acl=$goFonHomeServerACL checkbox=$multiple_support checked=$use_goFonHomeServer}
<select name='goFonHomeServer' title='{t}Select the accounts home server{/t}'>
{html_options options=$goFonHomeServers selected=$goFonHomeServer}
</select>
<label for="goFonVoicemailPIN">{t}Voicemail PIN{/t}{$must}</label>
</td>
<td>
-{render acl=$goFonVoicemailPINACL}
+{render acl=$goFonVoicemailPINACL checkbox=$multiple_support checked=$use_goFonVoicemailPIN}
<input type="password" id="goFonVoicemailPIN" name="goFonVoicemailPIN" value="{$goFonVoicemailPIN}">
{/render}
</td>
<label for="goFonPIN">{t}Phone PIN{/t}{$must}</label>
</td>
<td>
-{render acl=$goFonPINACL}
+{render acl=$goFonPINACL checkbox=$multiple_support checked=$use_goFonPIN}
<input type="password" id="goFonPIN" name="goFonPIN" value="{$goFonPIN}">
{/render}
</td>
<table summary="{t}Phone macro{/t}">
<tr>
<td colspan=2>
-{render acl=$goFonMacroACL}
- <select name="macro" onchange="document.mainform.submit()">
+{render acl=$goFonMacroACL checkbox=$multiple_support checked=$use_macro}
+ <select id="macro" name="macro" onchange="document.mainform.submit()">
{html_options options=$macros selected=$macro}
<option disabled> </option>
</select>