diff --git a/gosa-plugins/goto/admin/applications/class_applicationManagement.inc b/gosa-plugins/goto/admin/applications/class_applicationManagement.inc
index 08605166e038c57a0c23db063f8fdab8814d0f85..e1bafafa080de3cb5b29fb43aa922e0a7a635e23 100644 (file)
class applicationManagement extends management
{
var $plHeadline = "Applications";
- var $plDescription = "Application management";
+ var $plDescription = "Define and parametrize desktop applications for using them in desktop profiles";
var $plIcon = "plugins/goto/images/application.png";
var $app_release = ""; // The currently selected release while in release management mode!
}
// Build filter
- if (0 && session::global_is_set(get_class($this)."_filter")){
+ if (session::global_is_set(get_class($this)."_filter")){
$filter= session::global_get(get_class($this)."_filter");
} else {
$filter = new filter(get_template_path($filter_xml, true));
}
+ /*! \brief Someone wants to remove some object(s)
+ * ask for a confirmation now.
+ */
+ function removeEntryRequested($action="",$target=array(),$all=array(),
+ $altTabClass ="", $altTabType = "", $altAclCategory="")
+ {
+ // Close dialogs and remove locks for currently handled dns
+ $this->cancelEdit();
+
+ // Do not allow to remove objects with state freeezed
+ $errors = $disallowed = array();
+ $headpage = $this->getHeadpage();
+ foreach($target as $dn){
+
+ $obj = $headpage->getEntry($dn);
+ $acl = $this->ui->get_permissions($obj['dn'],"application/application");
+ if(!preg_match("/d/",$acl)){
+ $disallowed[] = $obj['dn'];
+ }elseif(isset($obj['FAIstate']) && preg_match('/freeze/i', $obj['FAIstate'][0])){
+ $errors[] = $obj['dn'];
+ }else{
+ $this->dns[] = $obj['dn'];
+ }
+ }
+ if(count($errors)){
+ msg_dialog::display(_("Branch locked"),
+ sprintf(_("The following entries are locked, you can't remove them %s."),
+ msgPool::buildList($errors)),INFO_DIALOG);
+ }
+ if(count($disallowed)){
+ msg_dialog::display(_("Permission error"), msgPool::permDelete($disallowed), ERROR_DIALOG);
+ }
+ return(management::removeEntryRequested($action, $this->dns));
+ }
+
+
+ /*! \brief This method opens an existing object or a list of existing objects to be edited.
+ *
+ *
+ * @param String 'action' The name of the action which was the used as trigger.
+ * @param Array 'target' A list of object dns, which should be affected by this method.
+ * @param Array 'all' A combination of both 'action' and 'target'.
+ */
+ function editEntry($action="",$target=array(),$all=array(), $altTabClass ="", $altTabType = "", $altAclCategory="")
+ {
+ management::editEntry($action,$target,$all,$altTabClass,$altTabType,$altAclCategory);
+ if($this->tabObject){
+ if(isset($this->tabObject->by_object['application']->attrs['FAIstate'][0])){
+ $state = $this->tabObject->by_object['application']->attrs['FAIstate'][0];
+ $this->tabObject->setReadOnly(preg_match("/freeze/i", $state));
+ }
+ }
+ }
+
+
/*! \brief Overridden render method of class mangement.
* this allows us to add a release selection box.
*/