Changeset 295


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

Location:
trunk/server/www/app
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/server/www/app/config/sql/schema.php

    r293 r295  
    11<?php  
    22/* SVN FILE: $Id$ */ 
    3 /* App schema generated on: 2010-02-08 17:02:52 : 1265644912*/ 
     3/* App schema generated on: 2010-02-10 15:02:05 : 1265810465*/ 
    44class AppSchema extends CakeSchema { 
    55        var $name = 'App'; 
     
    9999                        'application_id' => array('type' => 'string', 'null' => false, 'default' => NULL, 'length' => 36), 
    100100                        'version' => array('type' => 'string', 'null' => false, 'default' => NULL, 'length' => 32), 
     101                        'format_id' => array('type' => 'string', 'null' => false, 'default' => NULL, 'length' => 36), 
    101102                        'result_id' => array('type' => 'string', 'null' => false, 'default' => NULL, 'length' => 36), 
    102103                        'factory_id' => array('type' => 'string', 'null' => false, 'default' => NULL, 'length' => 36), 
     
    149150                        'root' => array('type' => 'text', 'null' => false, 'default' => NULL), 
    150151                        'mimetype_id' => array('type' => 'string', 'null' => false, 'default' => NULL, 'length' => 36), 
    151                         'format_id' => array('type' => 'string', 'null' => false, 'default' => NULL, 'length' => 36), 
    152152                        'page_start' => array('type' => 'integer', 'null' => false, 'default' => '1'), 
    153153                        'page_end' => array('type' => 'integer', 'null' => false, 'default' => '0'), 
  • 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                } 
  • trunk/server/www/app/controllers/requests_controller.php

    r294 r295  
    3131 
    3232        /** @var array Add Request and Worker model */ 
    33         public $uses = array('Request', 'Worker', 'Mimetype', 'User'); 
     33        public $uses = array('Request', 'Worker', 'Mimetype', 'User', 'Format'); 
    3434 
    3535        /** @var array Set default sort order for paginate */ 
     
    7272                 
    7373                $this->Request->contain(array( 
    74                         'Format', 
    7574                        'Mimetype', 
    7675                        'Mimetype.Doctype', 
     
    222221                        // Add the jobs to the request 
    223222                        $jobs = array(); 
     223                        $format_id = $this->data['Request']['format_id']; 
    224224                        foreach ($this->data['Request']['App'] as $app) { 
    225225                                list($platform_id, $doctype_code, $application_id, $version) = explode('_', $app); 
    226                                 $jobs[] = compact('platform_id', 'application_id', 'version'); 
     226                                $jobs[] = compact('platform_id', 'application_id', 'version', 'format_id'); 
    227227                        } 
    228228 
     
    263263                $platforms = $this->Worker->Factory->Operatingsystem->Platform->find('all'); 
    264264                $doctypes = $this->Worker->Application->Doctype->find('all'); 
    265                 $formats = $this->Request->Format->find('list'); 
     265                $formats = $this->Format->find('list'); 
    266266                $mimetypes = $this->Mimetype->find('all'); 
    267267 
     
    409409                $users = $this->Request->User->find('list'); 
    410410                $mimetypes = $this->Request->Mimetype->find('list'); 
    411                 $formats = $this->Request->Format->find('list'); 
    412411                $this->set(compact('users','mimetypes','formats')); 
    413412        } 
     
    442441                $users = $this->Request->User->find('list'); 
    443442                $mimetypes = $this->Request->Mimetype->find('list'); 
    444                 $formats = $this->Request->Format->find('list'); 
    445443                $this->set(compact('users','mimetypes','formats')); 
    446444        } 
  • trunk/server/www/app/models/job.php

    r293 r295  
    3434         */ 
    3535        public $belongsTo = array('Request' => array('counterCache' => true), 
    36                                   'Platform', 'Application', 'Factory', 'Result'); 
     36                                  'Platform', 'Application', 'Factory', 'Result', 'Format'); 
    3737 
    3838        /** @var array Job queries can be quite complex, so use Containable */ 
  • trunk/server/www/app/models/request.php

    r294 r295  
    4141 
    4242        /** @var array Every request belongs to a user and is associated with a document type and a desired output format */ 
    43         public $belongsTo = array('User', 'Format'); 
     43        public $belongsTo = array('User'); 
    4444 
    4545        /** @var string A request consists of multiple jobs and has multiple ODF validators */ 
  • trunk/server/www/app/views/requests/admin_add.ctp

    r221 r295  
    66                echo $form->input('user_id'); 
    77                echo $form->input('ip_address'); 
    8                 echo $form->input('format_id', array('empty' => true)); 
    98                echo $form->input('filename'); 
    109                echo $form->input('path'); 
  • trunk/server/www/app/views/requests/admin_edit.ctp

    r221 r295  
    77                echo $form->input('user_id'); 
    88                echo $form->input('ip_address'); 
    9                 echo $form->input('format_id', array('empty' => true)); 
    109                echo $form->input('filename'); 
    1110                echo $form->input('path'); 
  • trunk/server/www/app/views/requests/admin_view.ctp

    r221 r295  
    11<div class="requests view"> 
    22<h2><?php  __('Request');?></h2> 
    3         <dl><?php $i = 0; $class = ' class="altrow"';?> 
    4                 <dt<?php if ($i % 2 == 0) echo $class;?>><?php __('Id'); ?></dt> 
    5                 <dd<?php if ($i++ % 2 == 0) echo $class;?>> 
     3        <dl> 
     4                <dt><?php __('Id'); ?></dt> 
     5                <dd<> 
    66                        <?php echo $request['Request']['id']; ?> 
    77                        &nbsp; 
    88                </dd> 
    9                 <dt<?php if ($i % 2 == 0) echo $class;?>><?php __('User'); ?></dt> 
    10                 <dd<?php if ($i++ % 2 == 0) echo $class;?>> 
     9                <dt><?php __('User'); ?></dt> 
     10                <dd<> 
    1111                        <?php echo $html->link($request['User']['email_address'], array('controller'=> 'users', 'action'=>'view', $request['User']['id'])); ?> 
    1212                        &nbsp; 
    1313                </dd> 
    14                 <dt<?php if ($i % 2 == 0) echo $class;?>><?php __('IP address'); ?></dt> 
    15                 <dd<?php if ($i++ % 2 == 0) echo $class;?>> 
     14                <dt><?php __('IP address'); ?></dt> 
     15                <dd<> 
    1616                        <?php echo inet_dtop($request['Request']['ip_address']); ?> 
    1717                        &nbsp; 
    1818                </dd> 
    19                 <dt<?php if ($i % 2 == 0) echo $class;?>><?php __('Format'); ?></dt> 
    20                 <dd<?php if ($i++ % 2 == 0) echo $class;?>> 
    21                         <?php echo $html->link($request['Format']['name'], array('controller'=> 'formats', 'action'=>'view', $request['Format']['id'])); ?> 
    22                         &nbsp; 
    23                 </dd> 
    24                 <dt<?php if ($i % 2 == 0) echo $class;?>><?php __('Filename'); ?></dt> 
    25                 <dd<?php if ($i++ % 2 == 0) echo $class;?>> 
     19                <dt><?php __('Filename'); ?></dt> 
     20                <dd<> 
    2621                        <?php echo $request['Request']['filename']; ?> 
    2722                        &nbsp; 
    2823                </dd> 
    29                 <dt<?php if ($i % 2 == 0) echo $class;?>><?php __('Path'); ?></dt> 
    30                 <dd<?php if ($i++ % 2 == 0) echo $class;?>> 
     24                <dt><?php __('Path'); ?></dt> 
     25                <dd<> 
    3126                        <?php echo $request['Request']['path']; ?> 
    3227                        &nbsp; 
    3328                </dd> 
    34                 <dt<?php if ($i % 2 == 0) echo $class;?>><?php __('Mimetype'); ?></dt> 
    35                 <dd<?php if ($i++ % 2 == 0) echo $class;?>> 
     29                <dt><?php __('Mimetype'); ?></dt> 
     30                <dd<> 
    3631                        <?php echo $html->link($request['Mimetype']['name'], array('controller'=> 'mimetypes', 'action'=>'view', $request['Mimetype']['id'])); ?> 
    3732                        &nbsp; 
    3833                </dd> 
    39                 <dt<?php if ($i % 2 == 0) echo $class;?>><?php __('Created'); ?></dt> 
    40                 <dd<?php if ($i++ % 2 == 0) echo $class;?>> 
     34                <dt><?php __('Created'); ?></dt> 
     35                <dd<> 
    4136                        <?php echo $request['Request']['created']; ?> 
    4237                        &nbsp; 
    4338                </dd> 
    44                 <dt<?php if ($i % 2 == 0) echo $class;?>><?php __('Modified'); ?></dt> 
    45                 <dd<?php if ($i++ % 2 == 0) echo $class;?>> 
     39                <dt><?php __('Modified'); ?></dt> 
     40                <dd<> 
    4641                        <?php echo $request['Request']['modified']; ?> 
    4742                        &nbsp; 
Note: See TracChangeset for help on using the changeset viewer.