Selaa lähdekoodia

Merge branch 'master' of github.com:tracim/tracim

Bastien Sevajol (Algoo) 7 vuotta sitten
vanhempi
commit
7426fabcfa
1 muutettua tiedostoa jossa 51 lisäystä ja 9 poistoa
  1. 51 9
      tracim/tracim/public/_caldavzap/forms.js

+ 51 - 9
tracim/tracim/public/_caldavzap/forms.js Näytä tiedosto

1666
 	var cals=globalResourceCalDAVList.sortedCollections;
1666
 	var cals=globalResourceCalDAVList.sortedCollections;
1667
 	var calendarObj = $('#event_calendar');
1667
 	var calendarObj = $('#event_calendar');
1668
 	var calSelected = $('.resourceCalDAV_item.resourceCalDAV_item_selected').attr('data-id');
1668
 	var calSelected = $('.resourceCalDAV_item.resourceCalDAV_item_selected').attr('data-id');
1669
-		for(var i=0;i<cals.length;i++)
1670
-		{
1671
-			if(cals[i].uid!=undefined && ((calEvent!=null && calEvent.res_id==cals[i].uid) || (cals[i].makeLoaded && !cals[i].permissions_read_only )))
1672
-			{
1673
-				calendarObj.append(new Option(cals[i].displayValue,cals[i].uid));
1674
-			}
1675
-		}
1669
+
1670
+  var calendarsApiHasResponded = false
1671
+	// begin custom code
1672
+  $.ajax({
1673
+    url: '/api/calendars/',
1674
+    method: 'GET',
1675
+    contentType: 'application/json'
1676
+  }).done(function (data) {
1677
+
1678
+    var regExpUser = new RegExp('\/user\/')
1679
+    var regExpWorkspace = new RegExp('\/workspace\/')
1680
+
1681
+    var user_or_workspace
1682
+
1683
+    for(var i=0;i<cals.length;i++)
1684
+    {
1685
+      if(cals[i].uid!=undefined && ((calEvent!=null && calEvent.res_id==cals[i].uid) || (cals[i].makeLoaded && !cals[i].permissions_read_only )))
1686
+      {
1687
+        var currentICS = parseInt(cals[i].displayValue.replace('.ics', ''))
1688
+
1689
+        if (regExpUser.test(cals[i].uid))
1690
+          user_or_workspace = 'user'
1691
+        else if (regExpWorkspace.test(cals[i].uid))
1692
+          user_or_workspace = 'workspace'
1693
+        else
1694
+          user_or_workspace = 'fail'
1695
+
1696
+        var calName = ''
1697
+        var calList_length = data.value_list.length
1698
+        for (var j = 0; j < calList_length; j++) {
1699
+          if (data.value_list[j].id === currentICS && data.value_list[j].type === user_or_workspace) {
1700
+            calName = data.value_list[j].label
1701
+          }
1702
+        }
1703
+
1704
+        calendarObj.append(new Option(calName, cals[i].uid));
1705
+      }
1706
+    }
1707
+    calendarsApiHasResponded = true
1708
+  })
1676
 
1709
 
1677
 	if(mod=='new')
1710
 	if(mod=='new')
1678
 	{
1711
 	{
2362
 			$('#event_details_template').find('svg[data-type="select_icon"]').replaceWith($('<div>').append($(newSVG).clone()).html());
2395
 			$('#event_details_template').find('svg[data-type="select_icon"]').replaceWith($('<div>').append($(newSVG).clone()).html());
2363
 		}
2396
 		}
2364
 		/*************************** END OF BAD HACKS SECTION ***************************/
2397
 		/*************************** END OF BAD HACKS SECTION ***************************/
2365
-		if(calEvent.etag!='')
2366
-			$('#event_calendar').val(calEvent.res_id);
2398
+		if(calEvent.etag!='') {
2399
+      var interval = window.setInterval(function () {
2400
+        if (calendarsApiHasResponded === true) {
2401
+          $('#event_calendar').val(calEvent.res_id);
2402
+          stopInterval()
2403
+        }
2404
+      }, 500)
2405
+      var stopInterval = function () {
2406
+        window.clearInterval(interval)
2407
+      }
2408
+    }
2367
 	}
2409
 	}
2368
 
2410
 
2369
 	if(repeatOne=='editOnly' || $('#recurrenceID').val()!='')
2411
 	if(repeatOne=='editOnly' || $('#recurrenceID').val()!='')