CRM Calendar Customisations

This question is not answered

Hi All,

I am just wondering if anyone would be able to help me. I've been asked if we can do the following to the calendar within CRM. I've reached out to support and they've said that they're not sure if it can be done, and to ask on here if anyone has any suggestions. 

The two requested changes are:

1 – in the MY CRM - > Calendar -> Tasks section, they want ‘Show Overdue Tasks’ ticked as default

2- in same screen, want the date range extended from current one week of tasks to 2 weeks

Thanks in advance for your help.

Josh

All Replies
  • We also need this:

    1) To show overdue tasks ticked as default - this is a must as it always removes this every time you go back into this screen - Very frustrating !!!

    2) Calendar View - this shows agenda transactions that have been closed or cancelled - WHY ????? it just causes confusion as you still think that they are open. - It should only show pending ones.

    To: Jeff Richards - have you any answers to this.

    I still prefer the old calendar method where you can see agenda and tasks all on it - the icons then depicted what they are - very simple and neat

    WHY can you not have the option to have this as well - We use CRMTogether and if you use their calendar option it still brings up the old screen (you need to have that option as well)

  • As I have pointed out in other posts - but will keep on pointing out until even I'm sick of hearing it - the calendar in 2017 and above is a single page app based on Telerik's Kendo UI Scheduler widget.  Have a look at it here:

    http://demos.telerik.com/kendo-ui/scheduler/index

    See - that's your calendar right there.

    The place to go, therefore, to work out what you can and can't do with it is the Kendo UI documentation:

    http://docs.telerik.com/kendo-ui/controls/scheduling/scheduler/overview

    That said, here is some code that will (a) set the 'Agenda' page to be filtered by 'Pending' by default, and (b) set the 'Tasks' view to show overdue by default.  It's not complete - you'd have to put in extra handling for navigation backwards and forwards in time via the '[Today][<][>]' buttons on the toolbar - but it's a start.

    If you want to use this then you'll have to put it into a .js file in the js/custom directory under WWWRoot and restart the App pool.

    $(document).ready(function () {

      var loadingView = "";
      var defaulted = false;
      var bound = false;
      var _action = crm.getArg("Act");
      if (_action === "2300") {
        var scheduler = $("#scheduler");

        scheduler.bind("DOMSubtreeModified", function () {
          if (scheduler.data("kendoScheduler") && bound == false) {
          bound = true;
          scheduler.data("kendoScheduler").bind("dataBound", function (e) {
          var dbEvent = e;
          var uPrefs = {};
          uPrefs.defaultView = "agenda";

          var newLoadingView = SageCRM.responsiveCalendarUtils.getLoadingView(uPrefs);
          if (newLoadingView != loadingView) {
            defaulted = false;
            loadingView = newLoadingView;

            if (loadingView === "agenda") {
              var statusFilter = $("#status").data("kendoDropDownList");
              if (statusFilter) {
                if (!defaulted && statusFilter.value() != "Pending") {
                  statusFilter.value("Pending");
                  statusFilter.trigger("change");
                  defaulted = true;
                }
              }
            }

            if(loadingView === "tasklist"){
              if(!$("#overdueTaskCheckBox").is(":checked")){
                $("#overdueTaskCheckBox").prop("checked",true);
                SageCRM.responsiveCalendarUtils.showOverdueTasks(true, dbEvent);
                }
              }
            }
          });
        }
      });
     }
    });

    As for the range of 7 days.  Well - it's *technically* possible to do this but as it involves making a change to one of the base Kendo library files, I'd suggest it's a terrible idea. So no then.

    (Of course, the most pragmatic response if you don't like the calendar is to write your own. We don't like the calendar and did write our own, based around the DevExpress calendar control and now it does exactly what we want.)

  • I have searched the CRM forum and can not find any of your posts regarding the 2017 calendar.

    Apart from that it just seems that the CRM calendar has gone backwards (my opinion).

    I have gone to the other site to try and find what I need to do, but it is not very user friendly.

    - Normally it is very easy to change the setting on a filter, but now with this new calendar it seems a huge mission (as seen by all the stuff you have entered above)

    - I also could not find why closed items on my agenda still appear on the screen - they should not be there as they are done and dusted (like what it did on the good old pre 2017 calendar).

    It would have been useful if Sage had allowed the user to select what type of calendar they preferred (like they have done with the theme).

    >> I just somebody can come up with a reasonable solution to my above two problems.

  • User feedback on the new 2017 calendar is very negative... The popup screen that shows extra data in My CRM is not present in Team CRM, so unless you use the timeline then just identifying which user each task/appointment is for is a real pain....and it only works for the day when you need it for the week..

    Agree that it may look good but for user functions the old version has more....

    I'm raising about 6 feature requests relating to calendar, but has anyone at Sage tried using the 2017 version as if they are a user who wants to swap dates against meetings for 4 users in the same team... It takes ages !!

    I have also looked at the code posted within this and the Telerik site BUT you need to be a programmer to make changes whereas most of the earlier version changes could be done though simple customisation in the CRM administration....

    Are there any planned improvements with R3??

  • Hi Josh

    for your second question, the solution is very easy.

    You only need to change this line in "WWWRoot\js\calendar\responsiveCalendarUtils.js"

    var NUM_MILLISECONDS_IN_AGENDA_VIEW = (14 * NUM_MILLISECONDS_PER_DAY) - NUM_MILLISECONDS_PER_SEC;

    change 7 for 14, and you will have the tasks list for 2 weeks

    Remeber that later you have to restart iis, and refresh the user’s cache.

  • I'm trying to use the Kendo scehduler widget to display a team's activities in an external web page. I'd like to use the sData 2.0 for the data source, anybody tried anything like this? I've played around with it but don't seem to be having success with binding to the datasource.

  • Caili

    You can use a tool like Telerik Fiddler to look at the SData requests that are fired to retrieve the data for the calendar.

    E.g.

    http://localhost/sdata/crmj/sagecrm2/-/vCalendarCommunication?SID=41837859937168&select=Comm_Location,Pers_PhoneCountryCode,Pers_PhoneAreaCode,Pers_PhoneNumber,Quot_Description,Orde_Description,Case_Description,Oppo_Description,Comp_CompanyId,Comp_Name,Pers_PersonId,Pers_FirstName,Pers_LastName,Pers_Salutation,Comm_Private,Comm_Subject,Comm_Type,Comm_Note,Comm_IsAllDayEvent,Comm_DateTime,Comm_ToDateTime,Comm_RecurrenceId,Comm_CommunicationId,Comm_Action,Comm_CreatedBy,Comm_Status,Comm_CaseId,Comm_OpportunityID,Comm_OrderId,Comm_QuoteId,CmLi_CommLinkId,CmLi_Comm_NotifyTime,Comm_HasAttachments&where=CmLi_Comm_UserId+eq+%274%27+and+(comm_type+eq+%27Appointment%27)+and+((comm_datetime+ge+@2018-05-14%2000:00:00+01:00@+and+comm_datetime+le+@2018-05-20%2023:59:59+01:00@)+or+(comm_todatetime+ge+@2018-05-14%2000:00:00+01:00@+and+comm_todatetime+le+@2018-05-20%2023:59:59+01:00@)+or+(comm_datetime+lt+@2018-05-14%2000:00:00+01:00@+and+comm_todatetime+gt+@2018-05-20%2023:59:59+01:00@))&count=1000