forked from extern/egroupware
* Calendar: showing now all open calendars in the owner-selection, not just accounts. Allows to close them from all views
This commit is contained in:
parent
02861daf88
commit
92dc786ebc
@ -286,7 +286,14 @@ class calendar_ui
|
|||||||
$set_owners = explode(',',$set_states['owner']);
|
$set_owners = explode(',',$set_states['owner']);
|
||||||
if ((string)$set_owners[0] === '0') // set exactly the specified owners (without the 0)
|
if ((string)$set_owners[0] === '0') // set exactly the specified owners (without the 0)
|
||||||
{
|
{
|
||||||
$set_states['owner'] = substr($set_states['owner'],2);
|
if ($set_states['owner'] === '0,r0') // small fix for resources
|
||||||
|
{
|
||||||
|
$set_states['owner'] = $default; // --> set default, instead of none
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$set_states['owner'] = substr($set_states['owner'],2);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else // change only the owners of the given type
|
else // change only the owners of the given type
|
||||||
{
|
{
|
||||||
@ -782,13 +789,8 @@ class calendar_ui
|
|||||||
{
|
{
|
||||||
$grants[] = $grant['grantor'];
|
$grants[] = $grant['grantor'];
|
||||||
}
|
}
|
||||||
// exclude non-accounts from the account-selection
|
// we no longer exclude non-accounts from the account-selection: it shows all types of participants
|
||||||
$accounts = array();
|
$accounts = explode(',',$this->owner);
|
||||||
foreach(explode(',',$this->owner) as $owner)
|
|
||||||
{
|
|
||||||
if (is_numeric($owner)) $accounts[] = $owner;
|
|
||||||
}
|
|
||||||
if (!$accounts) $grants[''] = lang('None');
|
|
||||||
$file[] = array(
|
$file[] = array(
|
||||||
'text' => "
|
'text' => "
|
||||||
<script type=\"text/javascript\">
|
<script type=\"text/javascript\">
|
||||||
@ -802,7 +804,7 @@ function load_cal(url,id) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (owner) {
|
if (owner) {
|
||||||
egw_appWindow('calendar').location=url+'&owner='+owner;
|
egw_appWindow('calendar').location=url+'&owner=0,'+owner;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
@ -813,7 +815,7 @@ function load_cal(url,id) {
|
|||||||
egw::link('/index.php',array(
|
egw::link('/index.php',array(
|
||||||
'menuaction' => $this->view_menuaction,
|
'menuaction' => $this->view_menuaction,
|
||||||
'date' => $this->date,
|
'date' => $this->date,
|
||||||
),false).'\',\'uical_select_owner\');"','',$grants),
|
),false).'\',\'uical_select_owner\');"','',$grants,false,array($this->bo,'participant_name')),
|
||||||
'no_lang' => True,
|
'no_lang' => True,
|
||||||
'link' => False
|
'link' => False
|
||||||
);
|
);
|
||||||
|
@ -80,11 +80,12 @@ class uiaccountsel
|
|||||||
* Or a string which gets added as first Option with value='', eg. lang('all'), can also be specified in the array with key ''
|
* Or a string which gets added as first Option with value='', eg. lang('all'), can also be specified in the array with key ''
|
||||||
* @param boolean $nohtml if true, returns an array with the key 'selected' as the selected participants,
|
* @param boolean $nohtml if true, returns an array with the key 'selected' as the selected participants,
|
||||||
* and with the key 'participants' as the participants data as would fit in a select.
|
* and with the key 'participants' as the participants data as would fit in a select.
|
||||||
|
* @param callback $label_callback=null callback to fetch a label for non-accounts
|
||||||
* @return string/array string with html for !$nohtml, array('selected' => $selected,'participants' => $select)
|
* @return string/array string with html for !$nohtml, array('selected' => $selected,'participants' => $select)
|
||||||
*/
|
*/
|
||||||
function selection($name,$element_id,$selected,$use='accounts',$lines=0,$not=False,$options='',$onchange='',$select=False,$nohtml=false)
|
function selection($name,$element_id,$selected,$use='accounts',$lines=0,$not=False,$options='',$onchange='',$select=False,$nohtml=false,$label_callback=null)
|
||||||
{
|
{
|
||||||
//echo "<p align=right>uiaccountsel::selection('$name',".print_r($selected,True).",'$use',rows=$lines,$not,'$options','$onchange',".print_r($select,True).") account_selection=$this->account_selection</p>\n";
|
error_log(__METHOD__."('$name',".array2string($selected).",'$use',rows=$lines,$not,'$options','$onchange',".array2string($select).",$nohtml,$label_callback) account_selection=$this->account_selection");
|
||||||
$multi_size=4;
|
$multi_size=4;
|
||||||
if ($lines < 0)
|
if ($lines < 0)
|
||||||
{
|
{
|
||||||
@ -190,19 +191,24 @@ class uiaccountsel
|
|||||||
{
|
{
|
||||||
continue; // dont display that one
|
continue; // dont display that one
|
||||||
}
|
}
|
||||||
|
$label = common::grab_owner_name($id);
|
||||||
|
if ($label[0] === '#' && $label_callback)
|
||||||
|
{
|
||||||
|
if (!($label = call_user_func($label_callback, $id))) continue;
|
||||||
|
}
|
||||||
if (in_array($id,$selected)) // show already selected accounts first
|
if (in_array($id,$selected)) // show already selected accounts first
|
||||||
{
|
{
|
||||||
$already_selected[$id] = common::grab_owner_name($id);
|
$already_selected[$id] = $label;
|
||||||
}
|
}
|
||||||
elseif ($this->accounts->get_type($id) == 'u')
|
elseif ($this->accounts->get_type($id) == 'u')
|
||||||
{
|
{
|
||||||
$users[$id] = !is_array($val) ? common::grab_owner_name($id) :
|
$users[$id] = !is_array($val) ? $label :
|
||||||
common::display_fullname(
|
common::display_fullname(
|
||||||
$val['account_lid'],$val['account_firstname'],$val['account_lastname']);
|
$val['account_lid'],$val['account_firstname'],$val['account_lastname']);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$groups[$id] = common::grab_owner_name($id);
|
$groups[$id] = $label;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// sort users and groups alphabeticaly and put the groups behind the users
|
// sort users and groups alphabeticaly and put the groups behind the users
|
||||||
|
Loading…
Reference in New Issue
Block a user