Commit 5c158ca1 by Vladislav

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

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