Ignore:
Timestamp:
02/10/10 14:56:13 (10 years ago)
Author:
sander
Message:

Link teh requested output formats to individual jobs, not the request as a whole

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/server/www/app/controllers/jobs_controller.php

    r291 r295  
    322322                                        LEFT JOIN `requests` AS `Request` ON (`Job`.`request_id` = `Request`.`id`) 
    323323                                        LEFT JOIN `applications` AS `Application` ON (`Job`.`application_id` = `Application`.`id`) 
    324                                         LEFT JOIN `formats` AS `Format` ON (`Request`.`format_id` = `Format`.`id`) 
     324                                        LEFT JOIN `formats` AS `Format` ON (`Job`.`format_id` = `Format`.`id`) 
    325325                                        LEFT JOIN `mimetypes` AS `Mimetype` on (`Request`.`mimetype_id` = `Mimetype`.`id`) 
    326326                                        LEFT JOIN `doctypes` AS `Doctype` on (`Mimetype`.`doctype_id` = `Doctype`.`id`) 
     
    330330                                        AND `Job`.`application_id` = '" . $worker['application_id'] . "' 
    331331                                        AND `Job`.`version` = '" . $worker['version'] . "' 
     332                                        AND `Job`.`format_id` IN  (" . implode(', ', $formats) . ") 
    332333                                        AND `Request`.`state` = " . Request::STATE_QUEUED . " 
    333334                                        AND `Request`.`expire` > '" . date('Y-m-d H:i:s') . "' 
    334335                                        AND `Mimetype`.`doctype_id` IN (" . implode(', ', $doctypes) . ") 
    335                                         AND `Request`.`format_id` IN  (" . implode(', ', $formats) . ") 
    336336                                        AND (`Request`.`own_factory` = 0 
    337337                                                OR (`Request`.`own_factory` = 1 AND `Request`.`user_id` = '" . $this->AuthCert->user('id') . "') 
     
    447447                        'contain' => array( 
    448448                                'Request', 
    449                                 'Request.Format', 
     449                                'Format', 
    450450                                'Application', 
    451451                                'Platform', 
     
    462462 
    463463                // Check the return format 
    464                 $format = $this->Job->Request->Format->find('first', array( 
     464                $format = $this->Job->Format->find('first', array( 
    465465                        'recursive' => -1, 
    466466                        'conditions' => array('Format.code' => $format_code), 
    467467                )); 
    468468 
    469                 if (!$format || ($job['Request']['format_id'] && $job['Request']['Format']['code'] != $format_code)) { 
     469                if (!$format || ($job['Job']['format_id'] && $job['Format']['code'] != $format_code)) { 
    470470                        return array('faultCode' => 1, 'faultString' => 'Wrong document format.'); 
    471471                } 
Note: See TracChangeset for help on using the changeset viewer.