3 $project_type => undef #Trial or Cross or Genotyping Plate
8 $breeding_program_id => undef
9 $breeding_program_name => undef
10 $folder_for_trials => undef
11 $folder_for_crosses => undef
12 $folder_for_genotyping_trials => undef
15 % my $get_field_trials = $folder_for_trials ? 1 : 0;
16 % my $get_crossing_trials = $folder_for_crosses ? 1 : 0;
17 % my $get_genotyping_trials = $folder_for_genotyping_trials ? 1 : 0;
19 % if ($project_type eq 'Trials and Analyses') { $get_field_trials = 1; $folder_for_trials = 1; $dialog_type = 'Trial(s) and Analyses'}
20 % if ($project_type eq 'Genotyping Plate') { $get_genotyping_trials = 1; $folder_for_genotyping_trials = 1; $dialog_type = 'Genotyping Plate(s)'}
21 % if ($project_type eq 'Cross') { $get_crossing_trials = 1; $folder_for_crosses = 1; $dialog_type = 'Crossing Experiment(s)' }
22 % if (!$project_type) { $dialog_type = 'Trial(s)' }
24 <& /util/import_javascript.mas, classes => [ 'CXGN.TrialTreeFolders' ] &>
26 <div class="modal fade" id="set_folder_dialog" name="set_folder_dialog" tabindex="-1" role="dialog" aria-labelledby="setFolderDialog">
27 <div class="modal-dialog" role="document">
28 <div class="modal-content">
29 <div class="modal-header">
30 <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
31 <h4 class="modal-title" id="setFolderDialog">Place <% $dialog_type %> in folder</h4>
33 <div class="modal-body">
34 <div class="container-fluid">
36 <form class="form-horizontal" role="form" method="post" id="set_folder_dialog_form" name="set_folder_dialog_form">
38 <div class="form-group">
39 <label class="col-sm-3 control-label">Breeding Program: </label>
40 <div class="col-sm-9" >
41 <div id="folder_set_breeding_program_select_div">
42 % if ($breeding_program_id) {
43 <input type="text" class="form-control" value="<% $breeding_program_name %>" disabled/>
44 <input type="hidden" id="folder_set_breeding_program_id" name="folder_set_breeding_program_id" value="<% $breeding_program_id %>" />
52 <div class="form-group">
53 <label class="col-sm-3 control-label"><% $dialog_type %> Folders: </label>
54 <div class="col-sm-9" >
55 <div id="trial_folder_select_div">
57 <input type="text" class="form-control" value="<% $folder_name %>" disabled/>
58 <input type="hidden" id="html_select_folder_for_trial" name="html_select_folder_for_trial" value="<% $folder_id %>" />
65 <div class="form-group">
66 <label class="col-sm-3 control-label"><% $dialog_type %>: </label>
67 <div class="col-sm-9" >
68 <div id="select_trial_for_folder">
70 <input type="text" class="form-control" value="<% $trial_name %>" disabled/>
71 <input type="hidden" id="html_select_trial_for_folder" name="html_select_trial_for_folder" value="<% $trial_id %>" />
81 <div class="modal-footer">
82 <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
83 <button type="button" class="btn btn-primary" name="set_trial_folder" id="set_trial_folder" title="Save a trial to a folder">Save</button>
89 <div class="modal fade" id="folder_set_success_dialog_message" name="folder_set_success_dialog_message" tabindex="-1" role="dialog" aria-labelledby="setFolderSuccessDialog">
90 <div class="modal-dialog" role="document">
91 <div class="modal-content">
92 <div class="modal-header" style="text-align: center">
93 <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
94 <h4 class="modal-title" id="setFolderSuccessDialog"><% $project_type %> Move Successful</h4>
96 <div class="modal-body">
97 <div class="container-fluid">
99 <span class="ui-icon ui-icon-circle-check" style="float: left; margin: 0 7px 50px 0;"></span>
100 The <% $project_type %> was moved into the folder successfully
104 <div class="modal-footer">
105 <button id="close_set_folder_success_dialog" type="button" class="btn btn-default" data-dismiss="modal">Close</button>
111 <script defer="defer">
112 jQuery(document).ready(function() {
114 if(jQuery("#folder_set_breeding_program_id").length == 0) {
115 get_select_box('breeding_programs', 'folder_set_breeding_program_select_div', { 'name' : 'folder_set_breeding_program_id', 'id' : 'folder_set_breeding_program_id' });
118 jQuery('#open_folder_dialog_link').click( function() {
119 jQuery('#set_folder_dialog').modal("show");
120 if(jQuery("#html_select_folder_for_trial").length == 0) {
121 breeding_program_change_folders();
123 if(jQuery("#html_select_trial_for_folder").length == 0) {
124 breeding_program_change_trials();
128 jQuery("#folder_set_breeding_program_select_div").on('change', "#folder_set_breeding_program_id", function() {
129 breeding_program_change_folders();
130 breeding_program_change_trials();
133 jQuery('#set_trial_folder').click( function() {
134 jQuery('#trial_folder_div').html('[Updating...]');
136 display_trial_folder();
137 jQuery('#set_folder_dialog').modal("hide");
140 jQuery('#folder_set_success_dialog_message').on('hidden.bs.modal', function () {
146 function breeding_program_change_folders() {
147 var breeding_program_id = jQuery("#folder_set_breeding_program_id").val();
148 var folder_for_trials;
149 var folder_for_crosses;
150 var folder_for_genotyping_trials;
151 % if ($folder_for_trials){
152 folder_for_trials = true;
154 % if ($folder_for_crosses){
155 folder_for_crosses = true;
157 % if ($folder_for_genotyping_trials){
158 folder_for_genotyping_trials = true;
160 get_select_box('folders', 'trial_folder_select_div', { 'name' : 'html_select_folder_for_trial', 'id' : 'html_select_folder_for_trial', '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 });
163 function breeding_program_change_trials() {
164 var breeding_program_id = jQuery("#folder_set_breeding_program_id").val();
165 var get_field_trials = <% $get_field_trials %>;
166 var include_analyses = 0;
167 if (get_field_trials == 1) {
168 include_analyses = 1;
170 get_select_box('projects', 'select_trial_for_folder', { 'name' : 'html_select_trial_for_folder', 'id' : 'html_select_trial_for_folder', 'breeding_program_id' : breeding_program_id, 'size':'20', 'get_field_trials':get_field_trials, 'get_crossing_trials':<% $get_crossing_trials %>, 'get_genotyping_trials':<% $get_genotyping_trials %>, 'include_analyses':include_analyses, 'multiple': true });
173 function set_trial_folder() {
174 var trial_ids = jQuery('#html_select_trial_for_folder').val();
175 console.log(trial_ids);
176 var folder_id = jQuery('#html_select_folder_for_trial').val();
178 if ( jQuery.isArray(trial_ids) ) {
180 jQuery.each(trial_ids, function(index, value) {
181 //console.log(value);
182 if (value == folder_id) {
183 alert("Cannot make a folder its own parent.");
187 url: '/ajax/folder/'+value+'/associate/parent/'+folder_id,
188 success: function(response) {
189 if (response.error) {
191 alert(response.error);
194 error: function(response) {
196 alert('An error occurred trying to associate a folder to the trial.');
201 % if ($project_type eq 'Trial') {
202 refreshTrailJsTree(0);
203 % } elsif ($project_type eq 'Cross') {
204 refreshCrossJsTree(0);
205 % } elsif ($project_type eq 'Genotyping Plate') {
206 refreshGenotypingTrialJsTree(0);
208 jQuery('#folder_set_success_dialog_message').modal("show");
211 if (trial_ids == folder_id) {
212 alert("Cannot make a folder its own parent.");
216 url: '/ajax/folder/'+trial_ids+'/associate/parent/'+folder_id,
217 success: function(response) {
218 if (response.error) {
219 alert(response.error);
222 jQuery('#folder_set_success_dialog_message').modal("show");
225 error: function(response) {
226 alert('An error occurred trying to associate a folder to the trial.');
232 function display_trial_folder() {
233 var trial_id = jQuery('#html_select_trial_for_folder').val();
234 if (!jQuery.isArray(trial_id) ) {
236 url: '/ajax/breeders/trial/'+trial_id+'/folder',
237 success: function(response) {
238 jQuery('#trial_folder_div').html("<a href='/folder/"+response.folder[0]+"'>"+response.folder[1]+"</a>");
240 error: function(response) {
241 jQuery('#trial_folder_div').html('[ Protocol error. ]');