From 5857dfaa427e847d5d9f32047ec5d6f508cde868 Mon Sep 17 00:00:00 2001 From: Jared Hancock <gravydish@gmail.com> Date: Mon, 18 Jun 2012 13:53:14 -0500 Subject: [PATCH] Add default paper size for printing Allow staff members the ability to select a default paper size which will be used in printing tickets via PDF. In the future, this may be overridden per ticket by a dialog box at print time. --- include/class.pdf.php | 3 ++- include/class.staff.php | 7 ++++++- include/staff/profile.inc.php | 17 +++++++++++++++++ main.inc.php | 2 +- setup/inc/sql/c2d2fabf-aa4664af.patch.sql | 13 +++++++++++++ setup/inc/sql/osticket-v1.7-mysql.sql | 1 + setup/inc/sql/osticket-v1.7-mysql.sql.md5 | 2 +- 7 files changed, 41 insertions(+), 4 deletions(-) create mode 100644 setup/inc/sql/c2d2fabf-aa4664af.patch.sql diff --git a/include/class.pdf.php b/include/class.pdf.php index 537fb5fe1..dae066b5b 100644 --- a/include/class.pdf.php +++ b/include/class.pdf.php @@ -30,8 +30,9 @@ class Ticket2PDF extends FPDF var $ticket = null; function Ticket2PDF($ticket, $notes=false) { + global $thisstaff; - parent::FPDF(); + parent::FPDF('P', 'mm', $thisstaff->getDefaultPaperSize()); $this->ticket = $ticket; diff --git a/include/class.staff.php b/include/class.staff.php index bd7379ed9..2f5726d01 100644 --- a/include/class.staff.php +++ b/include/class.staff.php @@ -159,6 +159,10 @@ class Staff { return $this->ht['default_signature_type']; } + function getDefaultPaperSize() { + return $this->ht['default_paper_size']; + } + function forcePasswdChange() { return ($this->ht['change_passwd']); } @@ -388,7 +392,8 @@ class Staff { .' ,show_assigned_tickets='.db_input(isset($vars['show_assigned_tickets'])?1:0) .' ,max_page_size='.db_input($vars['max_page_size']) .' ,auto_refresh_rate='.db_input($vars['auto_refresh_rate']) - .' ,default_signature_type='.db_input($vars['default_signature_type']); + .' ,default_signature_type='.db_input($vars['default_signature_type']) + .' ,default_paper_size='.db_input($vars['default_paper_size']); if($vars['passwd1']) diff --git a/include/staff/profile.inc.php b/include/staff/profile.inc.php index e2b883e1b..39eaf80a5 100644 --- a/include/staff/profile.inc.php +++ b/include/staff/profile.inc.php @@ -156,6 +156,23 @@ $info['id']=$staff->getId(); <span class="error"> <?php echo $errors['default_signature_type']; ?></span> </td> </tr> + <tr> + <td width="180">Default Paper Size:</td> + <td> + <select name="default_paper_size"> + <option value="none" selected="selected">— None —</option> + <?php + $options=array('Letter', 'Legal', 'A4', 'A3'); + foreach($options as $v) { + echo sprintf('<option value="%s" %s>%s</option>', + $v,($info['default_paper_size']==$v)?'selected="selected"':'',$v); + } + ?> + </select> + <em>Paper size used when printing tickets to PDF</em> + <span class="error"> <?php echo $errors['default_paper_size']; ?></span> + </td> + </tr> <?php //Show an option to show assigned tickets to admins & managers. if($staff->isAdmin() || $staff->isManager()){ ?> diff --git a/main.inc.php b/main.inc.php index 57769d32c..8421be6ce 100644 --- a/main.inc.php +++ b/main.inc.php @@ -55,7 +55,7 @@ #Current version && schema signature (Changes from version to version) define('THIS_VERSION','1.7-DPR3'); //Shown on admin panel - define('SCHEMA_SIGNATURE','c2d2fabfdf15e1632f00850ffb361558'); //MD5 signature of the db schema. (used to trigger upgrades) + define('SCHEMA_SIGNATURE','aa4664afc3b43d4068eb2e82684fc28e'); //MD5 signature of the db schema. (used to trigger upgrades) #load config info $configfile=''; diff --git a/setup/inc/sql/c2d2fabf-aa4664af.patch.sql b/setup/inc/sql/c2d2fabf-aa4664af.patch.sql new file mode 100644 index 000000000..5b5cce6a3 --- /dev/null +++ b/setup/inc/sql/c2d2fabf-aa4664af.patch.sql @@ -0,0 +1,13 @@ +/** + * Add column for default paper size when printing tickets from the system + * + * @version 1.7-rc1 default-paper-size + */ + +ALTER TABLE %TABLE_PREFIX%staff ADD + `default_paper_size` ENUM( 'Letter', 'Legal', 'Ledger', 'A4', 'A3' ) NOT NULL DEFAULT 'Letter' + AFTER `default_signature_type`; + +-- Finished with patch +UPDATE `%TABLE_PREFIX%config` + SET `schema_signature`='aa4664afc3b43d4068eb2e82684fc28e'; diff --git a/setup/inc/sql/osticket-v1.7-mysql.sql b/setup/inc/sql/osticket-v1.7-mysql.sql index a3d03dd72..b8bb7ce26 100644 --- a/setup/inc/sql/osticket-v1.7-mysql.sql +++ b/setup/inc/sql/osticket-v1.7-mysql.sql @@ -478,6 +478,7 @@ CREATE TABLE `%TABLE_PREFIX%staff` ( `max_page_size` int(11) unsigned NOT NULL default '0', `auto_refresh_rate` int(10) unsigned NOT NULL default '0', `default_signature_type` ENUM( 'none', 'mine', 'dept' ) NOT NULL DEFAULT 'none', + `default_paper_size` ENUM( 'Letter', 'Legal', 'Ledger', 'A4', 'A3' ) NOT NULL DEFAULT 'Letter', `created` datetime NOT NULL, `lastlogin` datetime default NULL, `passwdreset` datetime default NULL, diff --git a/setup/inc/sql/osticket-v1.7-mysql.sql.md5 b/setup/inc/sql/osticket-v1.7-mysql.sql.md5 index 798a76acc..4bdfcd1ce 100644 --- a/setup/inc/sql/osticket-v1.7-mysql.sql.md5 +++ b/setup/inc/sql/osticket-v1.7-mysql.sql.md5 @@ -1 +1 @@ -c2d2fabfdf15e1632f00850ffb361558 +aa4664afc3b43d4068eb2e82684fc28e -- GitLab