Exemplo n.º 1
0
 protected function _prepareCollection()
 {
     // Build a collection representing each data feed for each website
     $collection = new Varien_Data_Collection();
     // Iterate websites and check configuration
     $websites = Mage::app()->getWebsites(false, true);
     foreach ($websites as $website) {
         // Grab id from website
         $websiteId = $website->getId();
         // Create Website Row in Grid
         if (Mage::app()->getWebsite($websiteId)->getConfig('mybuys_datafeeds/general/allfeedsenabled') == 'enabled') {
             // Lookup configuration for this site
             $feedTypes = '';
             foreach (Mybuys_Connector_Model_Generatefeeds::getFeedTypes() as $curFeedType) {
                 if (Mage::app()->getWebsite($websiteId)->getConfig('mybuys_datafeeds/feedsenabled/' . $curFeedType) == 'enabled') {
                     if (strlen($feedTypes) > 0) {
                         $feedTypes .= ', ';
                     }
                     $feedTypes .= $curFeedType;
                 }
             }
             $sftpUser = Mage::app()->getWebsite($websiteId)->getConfig('mybuys_datafeeds/connect/username');
             $sftpDestination = Mage::app()->getWebsite($websiteId)->getConfig('mybuys_datafeeds/connect/hostname');
             // Create and save grid item
             $newItem = $collection->getNewEmptyItem();
             $newItem->setData(array('id' => $website->getId(), 'website_name' => $website->getName(), 'website_code' => $website->getCode(), 'feeds' => $feedTypes, 'sftp_destination' => $sftpDestination, 'sftp_user' => $sftpUser));
             $collection->addItem($newItem);
         }
     }
     $this->setCollection($collection);
     return $this;
 }
Exemplo n.º 2
0
 /**
  * Schedule baseline or incremental daily jobs to run immediately
  *
  *
  */
 public static function scheduleJobs($websiteId, $bBaselineFile)
 {
     // Log
     Mage::helper('mybuys')->log('Scheduling jobs for website: ' . $websiteId, Zend_Log::INFO, Mybuys_Connector_Helper_Data::LOG_FILE);
     Mage::helper('mybuys')->log('All feeds for website set to: ' . Mage::app()->getWebsite($websiteId)->getConfig('mybuys_datafeeds/general/allfeedsenabled'), Zend_Log::INFO, Mybuys_Connector_Helper_Data::LOG_FILE);
     // Local to hold last job id
     $lastJobId = null;
     // Check if data feeds enabled
     if (Mage::app()->getWebsite($websiteId)->getConfig('mybuys_datafeeds/general/allfeedsenabled') != 'enabled') {
         return;
     }
     // Create generate jobs for all enabled feeds
     foreach (Mybuys_Connector_Model_Generatefeeds::getFeedTypes() as $curType) {
         // Create feed job of this type if config is enabled
         if (Mage::app()->getWebsite($websiteId)->getConfig('mybuys_datafeeds/feedsenabled/' . $curType) == 'enabled') {
             // Check baseline or daily
             $jobType = 0;
             if ($bBaselineFile) {
                 $jobType = Mybuys_Connector_Model_Job::TYPE_GENERATE_BASELINE;
             } else {
                 $jobType = Mybuys_Connector_Model_Job::TYPE_GENERATE_DAILY;
             }
             // Create feed job
             $job = Mybuys_Connector_Model_Job::createJob($lastJobId, $websiteId, $jobType, $curType);
             $job->save();
             $lastJobId = $job->getJobId();
         }
     }
     // Create transfer feeds job for this website
     $job = Mybuys_Connector_Model_Job::createJob($lastJobId, $websiteId, Mybuys_Connector_Model_Job::TYPE_TRANSFER, NULL);
     $job->save();
 }