<?php
-namespace Oxbow;
-
-use Illuminate\Database\Eloquent\Model;
+namespace BookStack;
/**
- * @property string key
- * @property \User user
+ * @property string key
+ * @property \User user
* @property \Entity entity
- * @property string extra
+ * @property string extra
*/
class Activity extends Model
{
+
+ /**
+ * Get the entity for this activity.
+ */
public function entity()
{
- if($this->entity_id) {
- return $this->morphTo('entity')->first();
- } else {
- return false;
- }
+ if ($this->entity_type === '') $this->entity_type = null;
+ return $this->morphTo('entity');
}
+ /**
+ * Get the user this activity relates to.
+ * @return \Illuminate\Database\Eloquent\Relations\BelongsTo
+ */
public function user()
{
- return $this->belongsTo('Oxbow\User');
+ return $this->belongsTo(User::class);
}
/**
return trans('activities.' . $this->key);
}
+ /**
+ * Checks if another Activity matches the general information of another.
+ * @param $activityB
+ * @return bool
+ */
+ public function isSimilarTo($activityB) {
+ return [$this->key, $this->entity_type, $this->entity_id] === [$activityB->key, $activityB->entity_type, $activityB->entity_id];
+ }
+
}