3 MTrack.milestoneViewer = false;
4 MTrack.milestoneValues = false;
5 MTrack.milestoneShow = function(url, a)
9 if (MTrack.milestoneViewer) {
11 if (MTrack.milestoneValues &&
12 MTrack.milestoneValues != MTrack.milestoneViewer.find('.milestone-edit').serialize()) {
13 // skip showing new form..
14 alert("save or cancel first");
18 MTrack.milestoneViewer.remove();
19 MTrack.milestoneViewer= false;
22 MTrack.milestoneValues = false;
23 if (MTrack.milestoneActiveURL == url) { // hide current...
24 MTrack.milestoneActiveURL = false;
27 MTrack.milestoneActiveURL = url;
31 MTrack.milestoneViewer = $('<div>Loading...</div>');
32 $(a).append(MTrack.milestoneViewer);
33 into = MTrack.milestoneViewer;
35 var tr = $($(a).parents('tr:first')[0]);
36 var cols = tr.find('td').length;
37 MTrack.milestoneViewer = $('<tr><td colspan="' + cols + '">Loading...</td></tr>');
38 tr.after(MTrack.milestoneViewer);
39 into = MTrack.milestoneViewer.find('td');
43 //console.log(MTrack.milestoneViewer);
46 data : { ajax_body : 1 },
47 success : function(data) {
49 MTrack.addHandlers(into);
50 //MTrack.milestoneViewer.find('#summary').focus();
51 MTrack.milestoneValues = MTrack.milestoneViewer.find('.milestone-edit').serialize();
57 MTrack.register('.project-new-milestone', 'click', function(event) {
58 event.preventDefault();
59 MTrack.milestoneShow(baseURL + '/Milestone/0', $('.project-new-milestone-area'));
63 MTrack.register('.mtrack-milestone-cancel', 'click', function(event) {
64 event.preventDefault();
65 if (MTrack.milestoneValues &&
66 MTrack.milestoneValues != MTrack.milestoneViewer.find('.milestone-edit').serialize()) {
67 // skip showing new form..
68 alert("save or cancel first");
71 var id = $('.milestone-form').attr('id').split('-').pop();
72 if ((id*1) > 0) { // edit?!?
73 MTrack.ajaxLoad( '/Project.html' , true);
76 $('.project-new-milestone').show();
77 MTrack.milestoneViewer.remove();
78 Track.milestoneValues= false;
79 MTrack.milestoneViewer= false;
83 MTrack.register('.mtrack-milestone-save', 'click', function(event) {
84 event.preventDefault();
85 MTrack.milestoneViewer = false;
86 MTrack.milestoneValues= false;
87 var id = $('.milestone-form').attr('id').split('-').pop();
88 // reload the report..
90 url: baseURL+'/Milestone/' + id,
92 data: $('.milestone-form').serializeArray(),
93 success : function() {
94 if ((id*1) > 0) { // edit?!?
95 MTrack.ajaxLoad( '/Project.html' , true);
98 MTrack.ajaxLoad( MTrack.currentURL, true);
106 MTrack.register('.mtrack-perm', 'click', function(event) {
107 //console.log($(this).attr('name'));
108 var nar = $(this).attr('name').split('_');
110 url: baseURL+'/core_project',
116 value : this.checked ? 1 : 0
118 success : function(d) {
119 // our failure value may appear here?
130 rolesave : function(e)
133 var nar = $(e).attr('name').split('_');
135 url: baseURL+'/core_project',
142 success : function(d) {
143 // our failure value may appear here?
155 MTrack.register('.mtrack-project-person-role', 'keyup', function(event) {
156 //console.log($(this).attr('name'));
157 clearTimeout($.data(this, 'timer'));
160 var wait = setTimeout(function() {
161 MTrack.Project.rolesave(t);
164 $(this).data('timer', wait);