TT#54350 Consider DTSTART and DTEND in event representation

Change-Id: Ibbd2d9ee32597b51515f26e6ec6ec383c58448cf
(cherry picked from commit 1208d7bab4d8b95eaf2929a4806ef6ad0537c839)
changes/40/28040/7
Irina Peshinskaya 6 years ago
parent 3d524defe7
commit 71a442b324

@ -262,8 +262,10 @@ sub event_list :Chained('base') :PathPart('event') :CaptureArgs(0) {
$c->stash->{event_dt_columns} = NGCP::Panel::Utils::Datatables::set_columns($c, [
{ name => 'id', search => 1, title => $c->loc('#') },
{ name => 'time_set_id', 'visible' => 0, 'title' => 'Time Set #' },
{ name => 'start', 'visible' => 0, search => 0, 'title' => 'Start' },
{ name => 'end', 'visible' => 0, search => 0, 'title' => 'End' },
{ name => 'comment', search => 1, title => $c->loc('Comment') },
{ name => 'periods_ical.rrule_ical', search => 0, accessor => "ical", title => $c->loc('Rules')},#, literal_sql => '""'
{ name => 'periods_ical.rrule_ical', search => 0, accessor => "ical", title => $c->loc('Rules'), dont_skip_empty_data => 1},#, literal_sql => '""'
]);
$c->stash(template => 'timeset/event_list.tt');

@ -4,6 +4,8 @@
helper.column_fields = [];
helper.column_sortable_map = {};
helper.custom_renderers = helper.custom_renderers ? helper.custom_renderers : {};
helper.options = {};
helper.columns_hidden = {};
helper.strict_search = 0;
FOR col IN helper.dt_columns;
IF !col.accessor;
@ -17,12 +19,16 @@
helper.column_titles.push(col.title);
helper.column_fields.push(col.accessor);
helper.column_sortable_map.${col.accessor} = (col.sortable.defined ? col.sortable : 1);
helper.options.${col.accessor} = {};
IF col.custom_renderer.defined;
helper.custom_renderers.${col.accessor} = col.custom_renderer;
END;
IF col.visible.defined && !col.visible;
helper.columns_hidden.${col.accessor} = 1;
END;
IF col.dont_skip_empty_data;
helper.options.${col.accessor}.dont_skip_empty_data = 1;
END;
END;
END;
backuri = c.req.uri;
@ -98,10 +104,17 @@ $(document).ready(function() {
"mData": "[% f %]",
[%IF helper.columns_hidden.${f} %]
"visible": false,
"className": 'hidden',
"hidden": true,
[%END%]
"mRender": function ( data, type, full ) {
[% IF !helper.options.${f}.dont_skip_empty_data %]
if(data == null)
return '';
[% ELSE %]
if(data == null)
return '';
data = '';
[% END %]
[% IF helper.custom_renderers.${f} -%]
data.escapeHtml = true; //true by default;
var renderCustom = [% helper.custom_renderers.${f} -%];

@ -11,11 +11,56 @@ require(['rrule'], function (rrule) {
RRule = rrule;
});
function toText(data, type, full) {
if (!data) {
return '';
var rrule_text = '';
var dtstart, dtend, freq;
var dtstart_obj;
var dtend_obj;
if (data) {
var r = RRule.rrulestr(data);
if (r.isFullyConvertibleToText()) {
rrule_text = r.toText();
}
freq = r.options.freq;
}
if (full.start){
dtstart = full.start;
}
if (full.end){
dtend = full.end;
}
var rrule_date_text = '';
if (dtstart) {
var rrule_dtend_text = '';
if (dtend) {
var dtend_obj = new Date(dtend);
var dtend_date = fomatDate(dtend_obj.getFullYear(), dtend_obj.getMonth(), dtend_obj.getDate(), '-');
var dtend_time = fomatDate(dtend_obj.getHours(), dtend_obj.getMinutes(), dtend_obj.getSeconds(),':');
rrule_dtend_text = ' [%c.loc("to")%] ' + (needDate(freq) ? dtend_date + ' ': '') + dtend_time;
}
var dtstart_obj = new Date(dtstart);
var dtstart_date = fomatDate(dtstart_obj.getFullYear(), dtstart_obj.getMonth(), dtstart_obj.getDate(), '-');
var dtstart_time = fomatDate(dtstart_obj.getHours(), dtstart_obj.getMinutes(), dtstart_obj.getSeconds(),':');
var rrule_dtstart_text = ( rrule_dtend_text == '' ? ' [%c.loc("at")%] ' : ' [%c.loc("from")%] ') + (needDate(freq) ? dtstart_date + ' ' : '') + dtstart_time;
rrule_date_text = rrule_dtstart_text + rrule_dtend_text;
}
rrule_text += rrule_date_text;
return rrule_text;
}
function needDate(freq) {
//3 - daily
if (freq == 3 ) {
return 0;
}
return 1;
}
function fomatDate (d1,d2,d3,delimiter) {
var addZero = function(d){
return d < 10 ? '0' + d : d;
}
var r = RRule.rrulestr(data);
return r.toText();
return [addZero(d1),addZero(d2),addZero(d3)].join(delimiter);
}
</script>
<script>

Loading…
Cancel
Save