Commit 5c158ca1 by Vladislav

#19461 Страница настройки целевых аккаунтов

1 parent 18543821
......@@ -53,7 +53,7 @@ class TokensController extends Controller
),
'cities' => (
!$token->isMain()
? $token->load('cities.campaigns')->cities
? $token->load('cities.dictionaryCampaigns')->cities
: []
),
],
......
......@@ -39,6 +39,8 @@ use Illuminate\Database\Eloquent\Model;
* @property-read int|null $groups_count
* @property-read \Illuminate\Database\Eloquent\Collection|\App\Models\Variable[] $dictionaryCampaignVariables
* @property-read int|null $dictionaryCampaignVariables_count
* @property-read \Illuminate\Database\Eloquent\Collection|\App\Models\Variable[] $dictionaryCampaigns
* @property-read int|null $dictionaryCampaigns_count
* @method static \Illuminate\Database\Eloquent\Builder|Campaigns forEnabled()
* @method static \Illuminate\Database\Eloquent\Builder|Campaigns forGroupsLoadable()
* @method static \Illuminate\Database\Eloquent\Builder|Campaigns forManaged()
......@@ -122,6 +124,11 @@ class Campaigns extends Model
$campaign->dictionaries()->detach();
}
}
if ($campaign->name !== $campaign->getOriginal('name')) {
$campaign->dictionaryCampaign()->update([
'name' => $campaign->name,
]);
}
});
/*
......@@ -138,6 +145,11 @@ class Campaigns extends Model
return $this->hasMany(AdGroup::class, 'campaign_id');
}
public function dictionaryCampaigns()
{
return $this->hasMany(DictionaryCampaign::class, 'campaign_id');
}
public function dictionaryCampaignVariables()
{
return $this->hasManyThrough(DictionaryCampaignVariable::class, DictionaryCampaign::class, 'campaign_id', 'dictionary_campaign_id');
......
......@@ -21,8 +21,8 @@ use Illuminate\Database\Eloquent\Builder;
* @property-read \Illuminate\Database\Eloquent\Collection|\App\Models\Campaigns[] $campaigns
* @property-read int|null $campaigns_count
* @property-read \App\Models\Tokens|null $token
* @property-read \Illuminate\Database\Eloquent\Collection|\App\Models\Variable[] $variables
* @property-read int|null $variables_count
* @property-read \Illuminate\Database\Eloquent\Collection|\App\Models\DictionaryCampaign[] $dictionaryCampaigns
* @property-read int|null $dictionaryCampaigns_count
* @method static Builder|Dictionary defaultOrderBy()
* @method static Builder|Dictionary newModelQuery()
* @method static Builder|Dictionary newQuery()
......@@ -68,4 +68,9 @@ class Dictionary extends Model
->withTimestamps();
}
public function dictionaryCampaigns()
{
return $this->hasMany(DictionaryCampaign::class, 'dictionary_id');
}
}
......@@ -52,26 +52,26 @@
</div>
</td>
</tr>
<tr v-if="city.campaigns.length">
<tr v-if="city.dictionary_campaigns.length">
<th class="px-6 pt-6 pb-4"></th>
<th class="px-6 pt-6 pb-4">Кампания</th>
<th class="px-6 pt-6 pb-4">Синхронизировать?</th>
<th></th>
</tr>
<tr v-if="city.campaigns.length" :key="campaign.pivot.id" v-for="campaign in city.campaigns">
<tr v-if="city.dictionary_campaigns.length" :key="dictionary_campaign.id" v-for="dictionary_campaign in city.dictionary_campaigns">
<td class="border-t"></td>
<td class="border-t">
<span class="px-6 py-4 flex items-center focus:text-indigo-500">
<inertia-link class="hover:text-indigo-500 focus:text-indigo-500"
:href="route('token.campaign.variables', [token.id, city.id, campaign.id])"
:href="route('token.campaign.variables', [token.id, city.id, dictionary_campaign.campaign_id])"
>
{{ campaign.pivot.name }}
{{ dictionary_campaign.name }}
</inertia-link>
</span>
</td>
<td class="border-t text-center">
<input :checked="campaign.pivot.updated !== '0'"
@change="campaignUpdated(city.id, campaign.id, !(campaign.pivot.updated !== '0'))"
<input :checked="dictionary_campaign.updated !== '0'"
@change="campaignUpdated(city.id, dictionary_campaign.campaign_id, !(dictionary_campaign.updated !== '0'))"
type="checkbox"
>
</td>
......@@ -99,6 +99,7 @@
main_token_campaigns: Array,
},
data() {
console.log(this.token.cities[0]);
return {
city: false
}
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!