mirror of
https://github.com/EGroupware/egroupware.git
synced 2024-12-23 07:09:20 +01:00
Resource categories & distribution list expansion & fixes for planner view
This commit is contained in:
parent
6108123fe7
commit
99824b5510
@ -918,7 +918,7 @@ et2_calendar_event.owner_check = function owner_check(event, parent, owner_too)
|
|||||||
{
|
{
|
||||||
owner_too = app.calendar.state.status_filter === 'owner';
|
owner_too = app.calendar.state.status_filter === 'owner';
|
||||||
}
|
}
|
||||||
var options = false
|
var options = false;
|
||||||
if(app.calendar && app.calendar.sidebox_et2 && app.calendar.sidebox_et2.getWidgetById('owner'))
|
if(app.calendar && app.calendar.sidebox_et2 && app.calendar.sidebox_et2.getWidgetById('owner'))
|
||||||
{
|
{
|
||||||
options = app.calendar.sidebox_et2.getWidgetById('owner').taglist.getSelection();
|
options = app.calendar.sidebox_et2.getWidgetById('owner').taglist.getSelection();
|
||||||
|
@ -363,10 +363,50 @@ var et2_calendar_planner = (function(){ "use strict"; return et2_calendar_view.e
|
|||||||
row_labels: function() {
|
row_labels: function() {
|
||||||
var labels = [];
|
var labels = [];
|
||||||
var already_added = [];
|
var already_added = [];
|
||||||
|
var options = false;
|
||||||
|
if(app.calendar && app.calendar.sidebox_et2 && app.calendar.sidebox_et2.getWidgetById('owner'))
|
||||||
|
{
|
||||||
|
options = app.calendar.sidebox_et2.getWidgetById('owner').taglist.getSelection();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
options = this.getArrayMgr("sel_options").getRoot().getEntry('owner');
|
||||||
|
}
|
||||||
for(var i = 0; i < this.options.owner.length; i++)
|
for(var i = 0; i < this.options.owner.length; i++)
|
||||||
{
|
{
|
||||||
var user = this.options.owner[i];
|
var user = this.options.owner[i];
|
||||||
if (user < 0) // groups
|
// Handle grouped resources like mailing lists - pull it from sidebox owner
|
||||||
|
// and expand to their contents
|
||||||
|
if(isNaN(user) && options && options.find)
|
||||||
|
{
|
||||||
|
var resource = options.find(function(element) {return element.id == user;}) || {};
|
||||||
|
if(resource && resource.resources)
|
||||||
|
{
|
||||||
|
for(var j = 0; j < resource.resources.length; j++)
|
||||||
|
{
|
||||||
|
var id = resource.resources[j];
|
||||||
|
if(already_added.indexOf(''+id) < 0)
|
||||||
|
{
|
||||||
|
labels.push({
|
||||||
|
id: id,
|
||||||
|
label: this._get_owner_name(id),
|
||||||
|
data: {participants:id,owner:id}
|
||||||
|
});
|
||||||
|
already_added.push(''+id);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if(already_added.indexOf(''+user) < 0)
|
||||||
|
{
|
||||||
|
labels.push({
|
||||||
|
id: user,
|
||||||
|
label: this._get_owner_name(user),
|
||||||
|
data: {participants:id,owner:id}
|
||||||
|
});
|
||||||
|
already_added.push(''+user);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (user < 0) // groups
|
||||||
{
|
{
|
||||||
egw.accountData(user,'account_fullname',true,function(result) {
|
egw.accountData(user,'account_fullname',true,function(result) {
|
||||||
for(var id in result)
|
for(var id in result)
|
||||||
|
@ -322,6 +322,10 @@ var et2_calendar_view = (function(){ "use strict"; return et2_valueWidget.extend
|
|||||||
// 0 means current user
|
// 0 means current user
|
||||||
user = egw.user('account_id');
|
user = egw.user('account_id');
|
||||||
}
|
}
|
||||||
|
if(et2_calendar_view.owner_name_cache[user])
|
||||||
|
{
|
||||||
|
return et2_calendar_view.owner_name_cache[user];
|
||||||
|
}
|
||||||
if (!isNaN(user))
|
if (!isNaN(user))
|
||||||
{
|
{
|
||||||
user = parseInt(user);
|
user = parseInt(user);
|
||||||
@ -349,16 +353,23 @@ var et2_calendar_view = (function(){ "use strict"; return et2_valueWidget.extend
|
|||||||
}
|
}
|
||||||
if(options && options.find)
|
if(options && options.find)
|
||||||
{
|
{
|
||||||
user = options.find(function(element) {return element.id == user;}) || {};
|
var found = options.find(function(element) {return element.id == user;}) || {};
|
||||||
label = user.label;
|
if(found && found.label)
|
||||||
|
{
|
||||||
|
label = found.label;
|
||||||
}
|
}
|
||||||
else
|
}
|
||||||
|
if(!label)
|
||||||
{
|
{
|
||||||
// No sidebox? Must be in home or sitemgr (no caching) - ask directly
|
// No sidebox? Must be in home or sitemgr (no caching) - ask directly
|
||||||
label = '?';
|
label = '?';
|
||||||
egw.json('calendar_owner_etemplate_widget::ajax_owner',user,function(data) {label = data;}, this).sendRequest();
|
egw.json('calendar_owner_etemplate_widget::ajax_owner',user,function(data) {label = data;}, this).sendRequest();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if(label)
|
||||||
|
{
|
||||||
|
et2_calendar_view.owner_name_cache[user] = label;
|
||||||
|
}
|
||||||
return label;
|
return label;
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -592,6 +603,11 @@ jQuery.extend(et2_calendar_view,
|
|||||||
);
|
);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Cache to map owner & resource IDs to names, helps cut down on server requests
|
||||||
|
*/
|
||||||
|
owner_name_cache: {},
|
||||||
|
|
||||||
holiday_cache: {},
|
holiday_cache: {},
|
||||||
/**
|
/**
|
||||||
* Fetch and cache a list of the year's holidays
|
* Fetch and cache a list of the year's holidays
|
||||||
|
Loading…
Reference in New Issue
Block a user