Skip to content
Toggle navigation
Projects
Groups
Snippets
Help
Письменов Дмитрий Иванович
/
yourroomads
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Settings
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit 5c158ca1
authored
May 20, 2021
by
Vladislav
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
#19461 Страница настройки целевых аккаунтов
1 parent
18543821
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
27 additions
and
9 deletions
app/Http/Controllers/TokensController.php
app/Models/Campaigns.php
app/Models/Dictionary.php
resources/js/Pages/Tokens/CitySettings.vue
app/Http/Controllers/TokensController.php
View file @
5c158ca
...
@@ -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.
c
ampaigns'
)
->
cities
?
$token
->
load
(
'cities.
dictionaryC
ampaigns'
)
->
cities
:
[]
:
[]
),
),
],
],
...
...
app/Models/Campaigns.php
View file @
5c158ca
...
@@ -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'
);
...
...
app/Models/Dictionary.php
View file @
5c158ca
...
@@ -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[] $variable
s
* @property-read \Illuminate\Database\Eloquent\Collection|\App\Models\
DictionaryCampaign[] $dictionaryCampaign
s
* @property-read int|null $
variable
s_count
* @property-read int|null $
dictionaryCampaign
s_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'
);
}
}
}
resources/js/Pages/Tokens/CitySettings.vue
View file @
5c158ca
...
@@ -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
}
}
...
...
Write
Preview
Markdown
is supported
Attach a file
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to post a comment