Browse Source

Remove deprecation

Mark Scherer 10 years ago
parent
commit
b68f6eb4bd
3 changed files with 16 additions and 3 deletions
  1. 13 1
      Model/Behavior/LogableBehavior.php
  2. 2 1
      Model/Behavior/SluggedBehavior.php
  3. 1 1
      Model/MyModel.php

+ 13 - 1
Model/Behavior/LogableBehavior.php

@@ -2,6 +2,7 @@
 App::uses('CakeSession', 'Model/Datasource');
 App::uses('ModelBehavior', 'Model');
 App::uses('Utility', 'Utility');
+App::uses('ShimModel', 'Shim.Model');
 
 if (!defined('CLASS_USER')) {
 	define('CLASS_USER', 'User');
@@ -572,7 +573,7 @@ class LogableBehavior extends ModelBehavior {
 			$logData['title'] = $Model->alias . ' (' . $Model->id . ')';
 		} elseif (!empty($Model->data[$Model->alias][$Model->displayField])) {
 			$logData['title'] = $Model->data[$Model->alias][$Model->displayField];
-		} elseif ($Model->id && $title = $Model->field($Model->displayField)) {
+		} elseif ($Model->id && $title = $this->_getField($Model)) {
 			$logData['title'] = $title;
 		} elseif (!empty($logData[$this->settings[$Model->alias]['foreignKey']])) {
 			$options = [
@@ -640,4 +641,15 @@ class LogableBehavior extends ModelBehavior {
 		return $this->Log->save(null, ['validate' => false, 'callbacks' => false]);
 	}
 
+	/**
+	 * @param \Model $Model
+	 * @return string|false
+	 */
+	protected function _getField($Model) {
+		if ($Model instanceof ShimModel) {
+			return $Model->fieldByConditions($Model->displayField, ['id' => $Model->id]);
+		}
+		return $Model->field($Model->displayField);
+	}
+
 }

+ 2 - 1
Model/Behavior/SluggedBehavior.php

@@ -7,6 +7,7 @@
  */
 
 App::uses('ModelBehavior', 'Model');
+App::uses('ShimModel', 'Shim.Model');
 
 /**
  * SluggedBehavior
@@ -215,7 +216,7 @@ class SluggedBehavior extends ModelBehavior {
 						}
 						$slug[] = $Model->data[$alias][$field];
 					} elseif ($Model->id) {
-						$slug[] = $Model->field($field);
+						$slug[] = $Model instanceof ShimModel ? $Model->fieldByConditions($field, ['id' => $Model->id]) : $Model->field($field);
 					}
 				}
 				$slug = implode($slug, $separator);

+ 1 - 1
Model/MyModel.php

@@ -178,7 +178,7 @@ class MyModel extends ShimModel {
 		if (isset($customOptions['reset'])) {
 			$currentValue = $step = 0;
 		} elseif (!isset($customOptions['current'])) {
-			$currentValue = $this->field($field, [$this->alias . '.id' => $id]);
+			$currentValue = $this->fieldByConditions($field, [$this->alias . '.id' => $id]);
 			if ($currentValue === false) {
 				return false;
 			}