1
0
mirror of https://github.com/invoiceninja/invoiceninja.git synced 2024-11-08 20:22:42 +01:00

Remove duplicate activity records for expenses and tasks

This commit is contained in:
Hillel Coren 2016-10-21 09:54:28 +03:00
parent 8fb8b63a13
commit fc683784fc
6 changed files with 39 additions and 29 deletions

View File

@ -122,9 +122,9 @@ class StartupCheck
}
// Check if the user is claiming a license (ie, additional invoices, white label, etc.)
if (isset($_SERVER['REQUEST_URI'])) {
if ( ! Utils::isNinjaProd() && isset($_SERVER['REQUEST_URI'])) {
$claimingLicense = Utils::startsWith($_SERVER['REQUEST_URI'], '/claim_license');
if (!$claimingLicense && Input::has('license_key') && Input::has('product_id')) {
if ( ! $claimingLicense && Input::has('license_key') && Input::has('product_id')) {
$licenseKey = Input::get('license_key');
$productId = Input::get('product_id');

View File

@ -499,6 +499,10 @@ class ActivityListener
*/
public function updatedTask(TaskWasUpdated $event)
{
if ( ! $event->task->isChanged()) {
return;
}
$this->activityRepo->create(
$event->task,
ACTIVITY_TYPE_UPDATE_TASK
@ -507,6 +511,10 @@ class ActivityListener
public function archivedTask(TaskWasArchived $event)
{
if ($event->task->is_deleted) {
return;
}
$this->activityRepo->create(
$event->task,
ACTIVITY_TYPE_ARCHIVE_TASK
@ -540,6 +548,10 @@ class ActivityListener
public function updatedExpense(ExpenseWasUpdated $event)
{
if ( ! $event->expense->isChanged()) {
return;
}
$this->activityRepo->create(
$event->expense,
ACTIVITY_TYPE_UPDATE_EXPENSE
@ -548,6 +560,10 @@ class ActivityListener
public function archivedExpense(ExpenseWasArchived $event)
{
if ($event->expense->is_deleted) {
return;
}
$this->activityRepo->create(
$event->expense,
ACTIVITY_TYPE_ARCHIVE_EXPENSE

View File

@ -270,4 +270,15 @@ class EntityModel extends Eloquent
return array_get($icons, $entityType);
}
// isDirty return true if the field's new value is the same as the old one
public function isChanged()
{
foreach ($this->fillable as $field) {
if ($this->$field != $this->getOriginal($field)) {
return true;
}
}
return false;
}
}

View File

@ -226,7 +226,3 @@ Expense::updated(function ($expense) {
Expense::deleting(function ($expense) {
$expense->setNullValues();
});
Expense::deleted(function ($expense) {
event(new ExpenseWasDeleted($expense));
});

View File

@ -14,6 +14,16 @@ class Task extends EntityModel
use SoftDeletes;
use PresentableTrait;
/**
* @var array
*/
protected $fillable = [
'client_id',
'description',
'time_log',
'is_running',
];
/**
* @return mixed
*/

View File

@ -179,27 +179,4 @@ class ExpenseRepository extends BaseRepository
return $expense;
}
public function bulk($ids, $action)
{
$expenses = Expense::withTrashed()->scope($ids)->get();
foreach ($expenses as $expense) {
if ($action == 'restore') {
$expense->restore();
$expense->is_deleted = false;
$expense->save();
} else {
if ($action == 'delete') {
$expense->is_deleted = true;
$expense->save();
}
$expense->delete();
}
}
return count($tasks);
}
}