added the list of management factor types in controllers
[sgn.git] / mason / breeders_toolbox / folder / folder_move.mas
blobee9102e945e8b980ff2f2faae250b34f57c222b3
2 <%args>
3 $project_type => 'Trial' #Trial or Cross or Genotyping Plate
4 $folder_id => undef
5 $folder_name => undef
6 $parent_folder_id => undef
7 $parent_folder_name => undef
8 $breeding_program_id => undef
9 $breeding_program_name => undef
10 </%args>
12 <& /util/import_javascript.mas, classes => [ 'CXGN.TrialTreeFolders' ] &>
14 % my $folder_for_trials;
15 % my $folder_for_crosses;
16 % my $folder_for_genotyping_trials;
17 % if ($project_type eq 'Trial') { $folder_for_trials = 1; }
18 % if ($project_type eq 'Genotyping Plate') { $folder_for_genotyping_trials = 1; }
19 % if ($project_type eq 'Cross') { $folder_for_crosses = 1; }
21 <div class="modal fade" id="move_folder_dialog" name="move_folder_dialog" tabindex="-1" role="dialog" aria-labelledby="moveFolderDialog">
22   <div class="modal-dialog" role="document">
23     <div class="modal-content">
24       <div class="modal-header">
25         <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
26         <h4 class="modal-title" id="moveFolderDialog">Move a folder</h4>
27       </div>
28       <div class="modal-body">
29         <div class="container-fluid">
31                <form class="form-horizontal" role="form" method="post" id="move_folder_dialog_form" name="move_folder_dialog_form">
32           <div class="form-group">
33              <label class="col-sm-3 control-label">Breeding Program: </label>
34              <div class="col-sm-9" >
35                <div id="move_folder_breeding_program_select_div">
36 % if ($breeding_program_id) {
37                <input type="text" class="form-control" value="<% $breeding_program_name %>" disabled/>
38                <input type="hidden" id="move_folder_breeding_program_id" name="move_folder_breeding_program_id" value="<% $breeding_program_id %>" />
39 % } else {
40  [Loading...]
41 % }
42                </div>
43              </div>
44           </div>
45           <div class="form-group">
46               <label class="col-sm-3 control-label">Parent Folder: </label>
47               <div class="col-sm-9" >
48                 <div id="move_folder_parent_folder_select_div">
49 % if ($parent_folder_id) {
50                   <input type="text" class="form-control" value="<% $parent_folder_name %>" disabled/>
51                   <input type="hidden" id="move_folder_parent_folder_id" name="move_folder_parent_folder_id" value="<% $parent_folder_id %>" />
52 % } else {
53   [Loading...]
54 % }
55                 </div>
56               </div>
57                 </div>
58                 <div class="form-group">
59               <label class="col-sm-3 control-label">Folder Name: </label>
60               <div class="col-sm-9" >
61                 <div id="move_folder_select_div">
62 % if ($folder_id) {
63               <input type="text" class="form-control" value="<% $folder_name %>" disabled/>
64               <input type="hidden" id="move_folder_id" name="move_folder_id" value="<% $folder_id %>" />
65 % } else {
66 [Loading...]
67 % }
68                 </div>
69               </div>
70                 </div>
71                </form><br/>
72         </div>
73       </div>
74       <div class="modal-footer">
75         <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
76               <button type="button" class="btn btn-primary" name="move_folder_submit" id="move_folder_submit" title="Move folder">Save</button>
77       </div>
78     </div>
79   </div>
80 </div>
82 <div class="modal fade" id="folder_move_success_dialog_message" name="folder_move_success_dialog_message" tabindex="-1" role="dialog" aria-labelledby="moveFolderSuccessDialog">
83     <div class="modal-dialog" role="document">
84         <div class="modal-content">
85             <div class="modal-header" style="text-align: center">
86                 <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
87                 <h4 class="modal-title" id="moveFolderSuccessDialog">Folder Move Successful</h4>
88             </div>
89             <div class="modal-body">
90                 <div class="container-fluid">
91                     <p>
92                         <span class="ui-icon ui-icon-circle-check" style="float: left; margin: 0 7px 50px 0;"></span>
93                         The folder was moved successfully
94                     </p>
95                 </div>
96             </div>
97             <div class="modal-footer">
98                 <button id="close_move_folder_success_dialog" type="button" class="btn btn-default" data-dismiss="modal">Close</button>
99             </div>
100         </div>
101     </div>
102 </div>
104 <script defer="defer">
105 jQuery(document).ready(function() {
107   if(jQuery("#move_folder_breeding_program_id").length == 0) {
108     get_select_box('breeding_programs', 'move_folder_breeding_program_select_div', { 'name' : 'move_folder_breeding_program_id', 'id' : 'move_folder_breeding_program_id' });
109   }
111   jQuery('#move_folder_dialog_link').click( function() {
112     jQuery('#move_folder_dialog').modal("show");
113     if(jQuery("#move_folder_parent_folder_id").length == 0) {
114       breeding_program_change_move_parent_folders();
115     }
116     if(jQuery("#move_folder_id").length == 0) {
117       breeding_program_change_move_folders();
118     }
119   });
120   
121   jQuery("#move_folder_breeding_program_select_div").on('change', "#move_folder_breeding_program_id", function() {
122     breeding_program_change_move_parent_folders();
123     breeding_program_change_move_folders();
124   });
126   jQuery('#move_folder_submit').click( function() {
127     move_folder();
128   });
130   jQuery('#folder_move_success_dialog_message').on('hidden.bs.modal', function () {
131       location.reload();
132   })
136 function breeding_program_change_move_parent_folders() {
137   var breeding_program_id = jQuery("#move_folder_breeding_program_id").val();
138   var folder_for_trials;
139   var folder_for_crosses;
140   var folder_for_genotyping_trials;
141 % if ($folder_for_trials){
142   folder_for_trials = true;
143 % }
144 % if ($folder_for_crosses){
145     folder_for_crosses = true;
146 % }
147 % if ($folder_for_genotyping_trials){
148     folder_for_genotyping_trials = true;
149 % }
150   get_select_box('folders', 'move_folder_parent_folder_select_div', { 'name' : 'move_folder_parent_folder_id', 'id' : 'move_folder_parent_folder_id', 'breeding_program_id' : breeding_program_id, 'empty' : 1, 'folder_for_trials' : folder_for_trials, 'folder_for_crosses' : folder_for_crosses, 'folder_for_genotyping_trials': folder_for_genotyping_trials });
153 function breeding_program_change_move_folders() {
154   var breeding_program_id = jQuery("#move_folder_breeding_program_id").val();
155   var folder_for_trials;
156   var folder_for_crosses;
157   var folder_for_genotyping_trials;
158 % if ($folder_for_trials){
159   folder_for_trials = true;
160 % }
161 % if ($folder_for_crosses){
162     folder_for_crosses = true;
163 % }
164 % if ($folder_for_genotyping_trials){
165     folder_for_genotyping_trials = true;
166 % }
167   get_select_box('folders', 'move_folder_select_div', { 'name' : 'move_folder_id', 'id' : 'move_folder_id', 'breeding_program_id' : breeding_program_id, 'folder_for_trials' : folder_for_trials, 'folder_for_crosses' : folder_for_crosses, 'folder_for_genotyping_trials': folder_for_genotyping_trials });
170 function move_folder() {
171   var parent_folder_id = jQuery('#move_folder_parent_folder_id').val();
172   var folder_id = jQuery('#move_folder_id').val();
173   //console.log(parent_folder_id);
174   //console.log(folder_id);
175   if (parent_folder_id == folder_id) {
176     alert("Cannot make a folder its own parent.");
177     return;
178   }
179   jQuery.ajax( {
180     url: '/ajax/folder/'+folder_id+'/associate/parent/'+parent_folder_id,
181     success: function(response) {
182       if (response.error) {
183         alert(response.error);
184         jQuery('#move_folder_dialog').modal("hide");
185       }
186       else {
187         refreshTrailJsTree(0);
188         jQuery('#folder_move_success_dialog_message').modal("show");
189         jQuery('#move_folder_dialog').modal("hide");
190       }
191     },
192     error: function(response) {
193       alert('An error occurred trying to move folder.');
194       jQuery('#move_folder_dialog').modal("hide");
195     }
196   });
200 </script>