forked from extern/egroupware
fixed sometimes not deletable favorites
This commit is contained in:
parent
d6a706d9b8
commit
0fa215c9e8
@ -1927,9 +1927,6 @@ if ($app == 'home') continue;
|
|||||||
'group' => true
|
'group' => true
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
$default_filter = $GLOBALS['egw_info']['user']['preferences'][$app][$default];
|
|
||||||
if(!$default_filter) $default_filter = "blank";
|
|
||||||
|
|
||||||
$is_admin = $GLOBALS['egw_info']['user']['apps']['admin'];
|
$is_admin = $GLOBALS['egw_info']['user']['apps']['admin'];
|
||||||
$html = "<span id='$target' class='ui-helper-clearfix sidebox-favorites'><ul class='ui-menu ui-widget-content ui-corner-all favorites' role='listbox'>\n";
|
$html = "<span id='$target' class='ui-helper-clearfix sidebox-favorites'><ul class='ui-menu ui-widget-content ui-corner-all favorites' role='listbox'>\n";
|
||||||
foreach($GLOBALS['egw_info']['user']['preferences'][$app] as $pref_name => $pref)
|
foreach($GLOBALS['egw_info']['user']['preferences'][$app] as $pref_name => $pref)
|
||||||
@ -1944,10 +1941,14 @@ if ($app == 'home') continue;
|
|||||||
'group' => !isset($GLOBALS['egw']->preferences->user[$app][$pref_name]),
|
'group' => !isset($GLOBALS['egw']->preferences->user[$app][$pref_name]),
|
||||||
'state' => $pref,
|
'state' => $pref,
|
||||||
);
|
);
|
||||||
|
//error_log(__METHOD__."() old favorite '$pref_name' converted to ".array2string($pref));
|
||||||
}
|
}
|
||||||
$filters[substr($pref_name,strlen($pref_prefix))] = $pref;
|
//else error_log(__METHOD__."() new favorite '$pref_name' ".array2string($pref));
|
||||||
|
$filters[(string)substr($pref_name,strlen($pref_prefix))] = $pref;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
$default_filter = $GLOBALS['egw_info']['user']['preferences'][$app][$default];
|
||||||
|
if(!isset($default_filter) || !isset($filters[$default_filter])) $default_filter = "blank";
|
||||||
|
|
||||||
// Get link for if there is no nextmatch - this is the fallback
|
// Get link for if there is no nextmatch - this is the fallback
|
||||||
$registry = egw_link::get_registry($app,'list');
|
$registry = egw_link::get_registry($app,'list');
|
||||||
@ -1955,13 +1956,15 @@ if ($app == 'home') continue;
|
|||||||
foreach($filters as $name => $filter)
|
foreach($filters as $name => $filter)
|
||||||
{
|
{
|
||||||
$href = "javascript:app.$app.setState(" . json_encode($filter,JSON_FORCE_OBJECT) . ');';
|
$href = "javascript:app.$app.setState(" . json_encode($filter,JSON_FORCE_OBJECT) . ');';
|
||||||
$html .= "<li data-id='$name' data-group='{$filter['group']}' class='ui-menu-item' role='menuitem'>\n";
|
$li = "<li data-id='$name' data-group='{$filter['group']}' class='ui-menu-item' role='menuitem'>\n";
|
||||||
$html .= '<a href="'.htmlspecialchars($href).'" class="ui-corner-all" tabindex="-1">';
|
$li .= '<a href="'.htmlspecialchars($href).'" class="ui-corner-all" tabindex="-1">';
|
||||||
$html .= "<div class='" . ($name == $default_filter ? 'ui-icon ui-icon-heart' : 'sideboxstar') . "'></div>".
|
$li .= "<div class='" . ((string)$name === (string)$default_filter ? 'ui-icon ui-icon-heart' : 'sideboxstar') . "'></div>".
|
||||||
$filter['name'];
|
$filter['name'];
|
||||||
$html .= ($filter['group'] != false && !$is_admin || $name == 'blank' ? "" :
|
$li .= ($filter['group'] != false && !$is_admin || $name === 'blank' ? "" :
|
||||||
"<div class='ui-icon ui-icon-trash' title='" . lang('Delete') . "'></div>");
|
"<div class='ui-icon ui-icon-trash' title='" . lang('Delete') . "'></div>");
|
||||||
$html .= "</a></li>\n";
|
$li .= "</a></li>\n";
|
||||||
|
//error_log(__METHOD__."() $name, filter=".array2string($filter)." --> ".$li);
|
||||||
|
$html .= $li;
|
||||||
}
|
}
|
||||||
|
|
||||||
// If were're here, the app supports favorites, so add a 'Add' link too
|
// If were're here, the app supports favorites, so add a 'Add' link too
|
||||||
@ -2010,6 +2013,7 @@ if ($app == 'home') continue;
|
|||||||
}
|
}
|
||||||
$prefs->read_repository();
|
$prefs->read_repository();
|
||||||
$type = $group == "all" ? "default" : "user";
|
$type = $group == "all" ? "default" : "user";
|
||||||
|
//error_log(__METHOD__."('$app', '$name', '$action', $group, ...) pref_name=$pref_name, type=$type");
|
||||||
if($action == "add")
|
if($action == "add")
|
||||||
{
|
{
|
||||||
$filters = array(
|
$filters = array(
|
||||||
|
@ -592,13 +592,12 @@ var AppJS = Class.extend(
|
|||||||
// Try to update nextmatch favorites too
|
// Try to update nextmatch favorites too
|
||||||
if(etemplate2 && etemplate2.getByApplication)
|
if(etemplate2 && etemplate2.getByApplication)
|
||||||
{
|
{
|
||||||
var safe_name = name.replace(/[^A-Za-z0-9-_]/g,"_");
|
|
||||||
var et2 = etemplate2.getByApplication(app.appname);
|
var et2 = etemplate2.getByApplication(app.appname);
|
||||||
for(var i = 0; i < et2.length; i++)
|
for(var i = 0; i < et2.length; i++)
|
||||||
{
|
{
|
||||||
et2[i].widgetContainer.iterateOver(function(_widget) {
|
et2[i].widgetContainer.iterateOver(function(_widget) {
|
||||||
var faves = _widget.load_favorites(app.appname);
|
var faves = _widget.load_favorites(app.appname);
|
||||||
delete faves[safe_name];
|
delete faves[id];
|
||||||
_widget.init_filters(_widget,faves);
|
_widget.init_filters(_widget,faves);
|
||||||
}, app, et2_favorites);
|
}, app, et2_favorites);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user