00001 <?php 00002 00009 class VoucherSerie_Main extends DynExportBase 00010 { 00016 public $sClassDo = "voucherSerie_generate"; 00017 00023 protected $_oVoucherSerie = null; 00024 00030 protected $_sThisTemplate = "voucherserie_main.tpl"; 00031 00039 public function render() 00040 { 00041 parent::render(); 00042 00043 $soxId = oxConfig::getParameter( "oxid" ); 00044 00045 // check if we right now saved a new entry 00046 $sSavedID = oxConfig::getParameter( "saved_oxid" ); 00047 if ( ( $soxId == "-1" || !isset( $soxId ) ) && isset( $sSavedID ) ) { 00048 $soxId = $sSavedID; 00049 oxSession::deleteVar( "saved_oxid" ); 00050 $this->_aViewData["oxid"] = $soxId; 00051 // for reloading upper frame 00052 $this->_aViewData["updatelist"] = "1"; 00053 } 00054 00055 if ( $soxId != "-1" && isset( $soxId ) ) { 00056 // load object 00057 $oVoucherSerie = oxNew( "oxvoucherserie" ); 00058 $oVoucherSerie->load( $soxId ); 00059 $this->_aViewData["edit"] = $oVoucherSerie; 00060 00061 } 00062 00063 return $this->_sThisTemplate; 00064 } 00065 00071 public function save() 00072 { 00073 00074 // Parameter Processing 00075 $soxId = oxConfig::getParameter( "oxid" ); 00076 $aSerieParams = oxConfig::getParameter("editval"); 00077 00078 // Voucher Serie Processing 00079 $oVoucherSerie = oxNew( "oxvoucherserie" ); 00080 // if serie already exist use it 00081 if ( $soxId != "-1" ) { 00082 $oVoucherSerie->load( $soxId ); 00083 } else { 00084 $aSerieParams["oxvoucherseries__oxid"] = null; 00085 } 00086 00087 00088 $this->_aViewData["updatelist"] = "1"; 00089 00090 $oVoucherSerie->assign( $aSerieParams ); 00091 $oVoucherSerie->save(); 00092 00093 // set oxid if inserted 00094 if ( $soxId == "-1" ) { 00095 oxSession::setVar("saved_oxid", $oVoucherSerie->getId() ); 00096 } 00097 } 00098 00104 public function getStatus() 00105 { 00106 if ( $oSerie = $this->_getVoucherSerie() ) { 00107 return $oSerie->countVouchers(); 00108 } 00109 } 00110 00116 public function prepareExport() 00117 { 00118 } 00119 00120 00126 protected function _getVoucherSerie() 00127 { 00128 if ( $this->_oVoucherSerie == null ) { 00129 $oVoucherSerie = oxNew( "oxvoucherserie" ); 00130 if ( $oVoucherSerie->load( oxConfig::getParameter( "voucherid" ) ) ) { 00131 $this->_oVoucherSerie = $oVoucherSerie; 00132 } 00133 } 00134 return $this->_oVoucherSerie; 00135 } 00136 00142 public function start() 00143 { 00144 parent::start(); 00145 00146 // saving export info 00147 oxSession::setVar( "voucherid", oxConfig::getParameter( "voucherid" ) ); 00148 oxSession::setVar( "voucherAmount", abs( (int) oxConfig::getParameter( "voucherAmount" ) ) ); 00149 oxSession::setVar( "randomVoucherNr", oxConfig::getParameter( "randomVoucherNr" ) ); 00150 oxSession::setVar( "voucherNr", oxConfig::getParameter( "voucherNr" ) ); 00151 } 00152 }