Index: branches/1.2.x/platform/inc/form_manager.js =================================================================== diff -u -N -r15526 -r15749 --- branches/1.2.x/platform/inc/form_manager.js (.../form_manager.js) (revision 15526) +++ branches/1.2.x/platform/inc/form_manager.js (.../form_manager.js) (revision 15749) @@ -186,6 +186,7 @@ } this.clearErrors($prefix); + this.processUploadFields($prefix, $data); if ($data.status == 'OK') { var $next_template = this.getNextTemplate($prefix, $data); @@ -354,6 +355,7 @@ function ($data) { $data = eval('(' + $data + ')'); $me.setFieldStatus($prefix, $field, $data.status == 'OK' ? undefined : $data.status); + $me.processUploadFields($prefix, $data); // show/hide general error notice $('#' + $prefix + '_error_message').toggle(!$.isArray($data.other_errors)); @@ -363,6 +365,21 @@ this.xhrRequests.push($request); }; +FormManager.processUploadFields = function ($prefix, $response) { + if ( $response['uploader_info'] === undefined || $.isArray($response['uploader_info']) ) { + // no data (event don't support that) OR empty array (no uploader fields on form) + return; + } + + var $field_mask = this.getFieldMask($prefix); + + $.each($response['uploader_info'], function ($field_name, $field_data) { + var $uploader_id = $field_mask.replace('#FIELD_NAME#', $field_name); + + $(document).trigger('UploadsManager.Uploader.' + crc32($uploader_id), ['refreshQueue', $field_data]); + }); +}; + FormManager.form_param = function ($prefix, $param, $value) { if ( this.forms[$prefix] === undefined ) { return '';