theotron / PipelineCRM

A CRM for the Umbraco back-office - form workflow, personalisation and more...
MIT License
25 stars 13 forks source link

Fixes issues where tasks were not being displayed. #4

Closed rhyshamilton closed 7 years ago

rhyshamilton commented 7 years ago

Tasks do not display within the Pipeline CRM.

Retrieving the data with AJAX appears to load the directive before the data is obtained. Therefore, the tasks are not available in the directive $scope.

Adding ng-if="loaded" ensures that directive only displays data once it has successfully been loaded.

harvzor commented 7 years ago

I actually found that implementing your change seemed to cause an error: http://imgur.com/a/A2BB7

angular.min.js?cdv=1:63 TypeError: Cannot read property 'childNodes' of undefined
    at e (angular.min.js?cdv=1:40)
    at k (angular.min.js?cdv=1:44)
    at angular.min.js?cdv=1:49
    at k (angular.min.js?cdv=1:44)
    at angular.min.js?cdv=1:49
    at angular.min.js?cdv=1:49
    at e (angular.min.js?cdv=1:40)
    at angular.min.js?cdv=1:39
    at Object.fn (angular.min.js?cdv=1:156)
    at Object.$digest (angular.min.js?cdv=1:90)

I tested the implementation without your code and it seemed to work fine. Even if I caused the page to render before the /umbraco/backoffice/PipelineCrm/TaskApi/GetMyTasks AJAX called finished.

I tested this on Umbraco 7.5.3. What was the original issue that you were having?

xrisdoc commented 7 years ago

I am also not getting any tasks listed. It does seem to make the API call to retrieve them and does get them, it just doesn't display them.

I also put in the ng-if="loaded" and that seems to have fixed the issue and the tasks now get listed.

<pipeline-timeline ng-if="loaded" tasks="tasks" parent-type="'user'" parent="user"></pipeline-timeline>

I do not get the TypeError: Cannot read property 'childNodes' of undefined error at all. I do not get any errors with ng-if="loaded" added. For me, it seems to only work when ng-if="loaded" is added.

I did this using a fresh clone of the repo, and in a clean install of umbraco with the Fanoe starter kit.

harvzor commented 7 years ago

@xrisdoc Can you tell me which browser (and which version of the browser) you are using, and what version of Umbraco you're using? I assume it is the latest version of Umbraco but I just want to double check.

xrisdoc commented 7 years ago

I am using the following:

harvzor commented 7 years ago

@xrisdoc What steps did you carry out in order to install PipelineCRM onto your website?

rhyshamilton commented 7 years ago

I have created this as an issue (https://github.com/theotron/PipelineCRM/issues/5), as my pull-request does not appear to have solved it.

xrisdoc commented 7 years ago

I followed the steps outlined under the Contributing section on the ReadMe.

Which, I believe copies over the GrowCreate.PipelineCRM.dll into the bin folder and the PipelineCRM folder into the App_Plugins form of my website.

harvzor commented 7 years ago

@xrisdoc Thanks I'll create a fresh Fanoe installation like you have and go through the steps.

I think it might be necessary to install the package through the NuGet package manager first, but I need to test if this is the case.

xrisdoc commented 7 years ago

@HarveyWilliams That was one step i actually missed out. I had thought this was was maybe a bit redundant as I had assumed that the NuGet package was simply adding the relevant App_Plugin folders and GrowCreate.PipelineCRM.dll reference. Basically, I had assumed that the NuGet was performing pretty much the same operations as we were doing by running the default gulp task.

However, by not using the NuGet package initially, I did have to add the relevant Pipeline sections to the Web.config manually and the pipeline.config file to the config folder, when not using the NuGetPackage, to get PipelineCRM working.

I have since tried a fresh install, making sure to include the NuGet Install-Package step, using the NuGet package I created by following the steps outlined under the Building section on the ReadMe.

However now, this does not seem to display the big circle add button to create a task. So, I cannot yet create a task to test if it actually displays the task.

harvzor commented 7 years ago

@xrisdoc Here are the steps I have just tested:

  1. Installed a new Umbraco 7.5.3 instance, using a SQL CE database and Fanoe as the starter pack
  2. Ran NuGet pack on the latest version of the offical repo
  3. Ran Install-Package PipelineCRM -source D:\path\to\PipelineCRM
  4. Added the PipelineCRM section to my current user in Umbraco
  5. Went to the Tasks part of PipelineCRM
  6. Created a new task using the + button
  7. Reloaded the page - no task was there
  8. Implemented your patch on the tasks.html file
  9. Reloaded the page again, the task was now visible

So I'm getting different results between installations at the moment, and it even appears to be a different result to what you're getting (as my circle is showing).

I doubt this is because of Fanoe.

xrisdoc commented 7 years ago

@HarveyWilliams That's pretty much the same steps as I have taken myself.

Although, the first time I did it, as I mentioned, I missed out step 3 - Ran Install-Package PipelineCRM -source D:\path\to\PipelineCRM. This is when I was experiencing the issue with the tasks not displaying and applying that fix in tasks.html sorted it.

The second time, I did perform step 3 - Ran Install-Package PipelineCRM -source D:\path\to\PipelineCRM. And that is when that + Task button was not visible.

I'll go through the steps again when I get a chance, just to be sure I haven't missed anything and document it back here.

harvzor commented 7 years ago

@xrisdoc Thanks for the work. I've decided to merge because there definitely was a bug with tasks not being displayed. It seemed that older version of PipelineCRM didn't have this bug, but none of the commits on this repo caused it.