Rename report and request props

1645
JuniorJPDJ 2021-12-14 23:32:33 +01:00
rodzic e4debe06e5
commit dedd7dc8dc
6 zmienionych plików z 92 dodań i 92 usunięć

Wyświetl plik

@ -2,10 +2,10 @@
<div class="ui fluid report card">
<div class="content">
<h4 class="header">
<router-link :to="{name: 'manage.moderation.reports.detail', params: {id: obj.uuid}}">
<router-link :to="{name: 'manage.moderation.reports.detail', params: {id: report_.uuid}}">
<translate
translate-context="Content/Moderation/Card/Short"
:translate-params="{id: obj.uuid.substring(0, 8)}"
:translate-params="{id: report_.uuid.substring(0, 8)}"
>
Report %{ id }
</translate>
@ -28,14 +28,14 @@
</translate>
</td>
<td>
<div v-if="obj.submitter">
<div v-if="report_.submitter">
<actor-link
:admin="true"
:actor="obj.submitter"
:actor="report_.submitter"
/>
</div>
<div v-else-if="obj.submitter_email">
{{ obj.submitter_email }}
<div v-else-if="report_.submitter_email">
{{ report_.submitter_email }}
</div>
</td>
</tr>
@ -47,7 +47,7 @@
</td>
<td>
<report-category-dropdown
:value="obj.type"
:value="report_.type"
@input="update({type: $event})"
>
&#32;
@ -63,7 +63,7 @@
</td>
<td>
<human-date
:date="obj.creation_date"
:date="report_.creation_date"
:icon="true"
/>
</td>
@ -80,8 +80,8 @@
Status
</translate>
</td>
<td v-if="obj.is_handled">
<span v-if="obj.is_handled">
<td v-if="report_.is_handled">
<span v-if="report_.is_handled">
<i class="success check icon" />
<translate translate-context="Content/*/*/Short">Resolved</translate>
</span>
@ -100,10 +100,10 @@
</translate>
</td>
<td>
<div v-if="obj.assigned_to">
<div v-if="report_.assigned_to">
<actor-link
:admin="true"
:actor="obj.assigned_to"
:actor="report_.assigned_to"
/>
</div>
<translate
@ -122,8 +122,8 @@
</td>
<td>
<human-date
v-if="obj.handled_date"
:date="obj.handled_date"
v-if="report_.handled_date"
:date="report_.handled_date"
:icon="true"
/>
<translate
@ -142,7 +142,7 @@
</td>
<td>
<i class="comment icon" />
{{ obj.notes.length }}
{{ report_.notes.length }}
</td>
</tr>
</tbody>
@ -163,11 +163,11 @@
</translate>
</h3>
<expandable-div
v-if="obj.summary"
v-if="report_.summary"
class="summary"
:content="obj.summary"
:content="report_.summary"
>
<div v-html="markdown.makeHtml(obj.summary)" />
<div v-html="markdown.makeHtml(report_.summary)" />
</expandable-div>
</div>
<aside class="column">
@ -177,7 +177,7 @@
</translate>
</h3>
<div
v-if="!obj.target"
v-if="!report_.target"
role="alert"
class="ui warning message"
>
@ -188,7 +188,7 @@
<router-link
v-if="target && configs[target.type].urls.getDetail"
class="ui basic button"
:to="configs[target.type].urls.getDetail(obj.target_state)"
:to="configs[target.type].urls.getDetail(report_.target_state)"
>
<i class="eye icon" />
<translate translate-context="Content/Moderation/Link">
@ -198,7 +198,7 @@
<router-link
v-if="target && configs[target.type].urls.getAdminDetail"
class="ui basic button"
:to="configs[target.type].urls.getAdminDetail(obj.target_state)"
:to="configs[target.type].urls.getAdminDetail(report_.target_state)"
>
<i class="wrench icon" />
<translate translate-context="Content/Moderation/Link">
@ -218,7 +218,7 @@
{{ configs[target.type].label }}
</td>
</tr>
<tr v-if="obj.target_owner && (!target || target.type !== 'account')">
<tr v-if="report_.target_owner && (!target || target.type !== 'account')">
<td>
<translate translate-context="*/*/*">
Owner
@ -227,15 +227,15 @@
<td>
<actor-link
:admin="true"
:actor="obj.target_owner"
:actor="report_.target_owner"
/>
</td>
<td>
<instance-policy-modal
v-if="!obj.target_owner.is_local"
v-if="!report_.target_owner.is_local"
class="right floated mini basic"
type="actor"
:target="obj.target_owner.full_username"
:target="report_.target_owner.full_username"
/>
</td>
</tr>
@ -248,19 +248,19 @@
<td>
<actor-link
:admin="true"
:actor="obj.target_owner"
:actor="report_.target_owner"
/>
</td>
<td>
<instance-policy-modal
v-if="!obj.target_owner.is_local"
v-if="!report_.target_owner.is_local"
class="right floated mini basic"
type="actor"
:target="obj.target_owner.full_username"
:target="report_.target_owner.full_username"
/>
</td>
</tr>
<tr v-if="obj.target_state.is_local">
<tr v-if="report_.target_state.is_local">
<td>
<translate translate-context="Content/Moderation/*/Noun">
Domain
@ -273,22 +273,22 @@
</translate>
</td>
</tr>
<tr v-else-if="obj.target_state.domain">
<tr v-else-if="report_.target_state.domain">
<td>
<router-link :to="{name: 'manage.moderation.domains.detail', params: {id: obj.target_state.domain }}">
<router-link :to="{name: 'manage.moderation.domains.detail', params: {id: report_.target_state.domain }}">
<translate translate-context="Content/Moderation/*/Noun">
Domain
</translate>
</router-link>
</td>
<td>
{{ obj.target_state.domain }}
{{ report_.target_state.domain }}
</td>
<td>
<instance-policy-modal
class="right floated mini basic"
type="domain"
:target="obj.target_state.domain"
:target="report_.target_state.domain"
/>
</td>
</tr>
@ -324,12 +324,12 @@
</translate>
</h3>
<notes-thread
:notes="obj.notes"
:notes="report_.notes"
@deleted="handleRemovedNote($event)"
/>
<note-form
:target="{type: 'report', uuid: obj.uuid}"
@created="obj.notes.push($event)"
:target="{type: 'report', uuid: report_.uuid}"
@created="report_.notes.push($event)"
/>
</div>
<div class="column">
@ -340,7 +340,7 @@
</h3>
<div class="ui labelled icon basic buttons">
<button
v-if="obj.is_handled === false"
v-if="report_.is_handled === false"
:class="['ui', {loading: isLoading}, 'button']"
@click="resolve(true)"
>
@ -350,7 +350,7 @@
</translate>
</button>
<button
v-if="obj.is_handled === true"
v-if="report_.is_handled === true"
:class="['ui', {loading: isLoading}, 'button']"
@click="resolve(false)"
>
@ -363,7 +363,7 @@
v-for="(action, key) in actions"
>
<dangerous-button
v-if="action.dangerous && action.show(obj)"
v-if="action.dangerous && action.show(report_)"
:key="key"
:class="['ui', {loading: isLoading}, 'button']"
:action="action.handler"
@ -413,12 +413,12 @@ export default {
InstancePolicyModal
},
props: {
initObj: { type: Object, required: true },
report: { type: Object, required: true },
currentState: { type: String, required: false, default: '' }
},
data () {
return {
obj: this.initObj,
report_: this.report,
markdown: new showdown.Converter(),
isLoading: false,
isCollapsed: false,
@ -430,10 +430,10 @@ export default {
computed: {
configs: entities.getConfigs,
previousState () {
if (this.obj.is_applied) {
if (this.report_.is_applied) {
// mutation was applied, we use the previous state that is stored
// on the mutation itself
return this.obj.previous_state
return this.report_.previous_state
}
// mutation is not applied yet, so we use the current state that was
// passed to the component, if any
@ -454,14 +454,14 @@ export default {
if (this.target.type === 'artist') {
namespace = 'library.artists.edit.detail'
}
return this.$router.resolve({ name: namespace, params: { id, editId: this.obj.uuid } }).href
return this.$router.resolve({ name: namespace, params: { id, editId: this.report_.uuid } }).href
},
targetFields () {
if (!this.target) {
return []
}
const payload = this.obj.target_state
const payload = this.report_.target_state
const fields = this.configs[this.target.type].moderatedFields
return fields.map((fieldConfig) => {
const dummyRepr = (v) => { return v }
@ -476,10 +476,10 @@ export default {
})
},
target () {
if (this.obj.target) {
return this.obj.target
if (this.report_.target) {
return this.report_.target
} else {
return this.obj.target_state._target
return this.report_.target_state._target
}
},
actions () {
@ -498,12 +498,12 @@ export default {
modalConfirmLabel: this.$pgettext('*/*/*/Verb', 'Delete'),
icon: 'x',
iconColor: 'danger',
show: (obj) => { return !!obj.target },
show: (report) => { return !!report.target },
dangerous: true,
handler: () => {
axios.delete(deleteUrl).then((response) => {
console.log('Target deleted')
self.obj.target = null
self.report_.target = null
self.resolve(true)
}, () => {
console.log('Error while deleting target')
@ -516,13 +516,13 @@ export default {
},
methods: {
update (payload) {
const url = `manage/moderation/reports/${this.obj.uuid}/`
const url = `manage/moderation/reports/${this.report_.uuid}/`
const self = this
this.isLoading = true
setUpdate(payload, this.updating, true)
axios.patch(url, payload).then((response) => {
self.$emit('updated', payload)
Object.assign(self.obj, payload)
Object.assign(self.report_, payload)
self.isLoading = false
setUpdate(payload, self.updating, false)
}, () => {
@ -531,13 +531,13 @@ export default {
})
},
resolve (v) {
const url = `manage/moderation/reports/${this.obj.uuid}/`
const url = `manage/moderation/reports/${this.report_.uuid}/`
const self = this
this.isLoading = true
axios.patch(url, { is_handled: v }).then((response) => {
self.$emit('handled', v)
self.isLoading = false
self.obj.is_handled = v
self.report_.is_handled = v
let increment
if (v) {
self.isCollapsed = true
@ -551,7 +551,7 @@ export default {
})
},
handleRemovedNote (uuid) {
this.obj.notes = this.obj.notes.filter((note) => {
this.report_.notes = this.report_.notes.filter((note) => {
return note.uuid !== uuid
})
}

Wyświetl plik

@ -2,10 +2,10 @@
<div class="ui fluid user-request card">
<div class="content">
<h4 class="header">
<router-link :to="{name: 'manage.moderation.requests.detail', params: {id: obj.uuid}}">
<router-link :to="{name: 'manage.moderation.requests.detail', params: {id: user_request.uuid}}">
<translate
translate-context="Content/Moderation/Card/Short"
:translate-params="{id: obj.uuid.substring(0, 8)}"
:translate-params="{id: user_request.uuid.substring(0, 8)}"
>
Request %{ id }
</translate>
@ -30,7 +30,7 @@
<td>
<actor-link
:admin="true"
:actor="obj.submitter"
:actor="user_request.submitter"
/>
</td>
</tr>
@ -42,7 +42,7 @@
</td>
<td>
<human-date
:date="obj.creation_date"
:date="user_request.creation_date"
:icon="true"
/>
</td>
@ -60,19 +60,19 @@
</translate>
</td>
<td>
<template v-if="obj.status === 'pending'">
<template v-if="user_request.status === 'pending'">
<i class="warning hourglass icon" />
<translate translate-context="Content/Library/*/Short">
Pending
</translate>
</template>
<template v-else-if="obj.status === 'refused'">
<template v-else-if="user_request.status === 'refused'">
<i class="danger x icon" />
<translate translate-context="Content/*/*/Short">
Refused
</translate>
</template>
<template v-else-if="obj.status === 'approved'">
<template v-else-if="user_request.status === 'approved'">
<i class="success check icon" />
<translate translate-context="Content/*/*/Short">
Approved
@ -87,10 +87,10 @@
</translate>
</td>
<td>
<div v-if="obj.assigned_to">
<div v-if="user_request.assigned_to">
<actor-link
:admin="true"
:actor="obj.assigned_to"
:actor="user_request.assigned_to"
/>
</div>
<translate
@ -109,8 +109,8 @@
</td>
<td>
<human-date
v-if="obj.handled_date"
:date="obj.handled_date"
v-if="user_request.handled_date"
:date="user_request.handled_date"
:icon="true"
/>
<translate
@ -129,7 +129,7 @@
</td>
<td>
<i class="comment icon" />
{{ obj.notes.length }}
{{ user_request.notes.length }}
</td>
</tr>
</tbody>
@ -154,15 +154,15 @@
This user wants to sign-up on your pod.
</translate>
</p>
<template v-if="obj.metadata">
<template v-if="user_request.metadata">
<div class="ui hidden divider" />
<div
v-for="k in Object.keys(obj.metadata)"
v-for="k in Object.keys(user_request.metadata)"
:key="k"
>
<h4>{{ k }}</h4>
<p v-if="obj.metadata[k] && obj.metadata[k].length">
{{ obj.metadata[k] }}
<p v-if="user_request.metadata[k] && user_request.metadata[k].length">
{{ user_request.metadata[k] }}
</p>
<translate
v-else
@ -175,7 +175,7 @@
</template>
</div>
<aside class="column">
<div v-if="obj.status != 'approved'">
<div v-if="user_request.status != 'approved'">
<h3>
<translate translate-context="Content/*/*/Noun">
Actions
@ -183,7 +183,7 @@
</h3>
<div class="ui labelled icon basic buttons">
<button
v-if="obj.status === 'pending' || obj.status === 'refused'"
v-if="user_request.status === 'pending' || user_request.status === 'refused'"
:class="['ui', {loading: isLoading}, 'button']"
@click="approve(true)"
>
@ -193,7 +193,7 @@
</translate>
</button>
<button
v-if="obj.status === 'pending'"
v-if="user_request.status === 'pending'"
:class="['ui', {loading: isLoading}, 'button']"
@click="approve(false)"
>
@ -210,12 +210,12 @@
</translate>
</h3>
<notes-thread
:notes="obj.notes"
:notes="user_request.notes"
@deleted="handleRemovedNote($event)"
/>
<note-form
:target="{type: 'request', uuid: obj.uuid}"
@created="obj.notes.push($event)"
:target="{type: 'request', uuid: user_request.uuid}"
@created="user_request.notes.push($event)"
/>
</aside>
</div>
@ -235,26 +235,26 @@ export default {
NotesThread
},
props: {
initObj: { type: Object, required: true }
userRequest: { type: Object, required: true }
},
data () {
return {
markdown: new showdown.Converter(),
isLoading: false,
isCollapsed: false,
obj: this.initObj
user_request: this.userRequest
}
},
methods: {
approve (v) {
const url = `manage/moderation/requests/${this.obj.uuid}/`
const url = `manage/moderation/requests/${this.user_request.uuid}/`
const self = this
const newStatus = v ? 'approved' : 'refused'
this.isLoading = true
axios.patch(url, { status: newStatus }).then((response) => {
self.$emit('handled', newStatus)
self.isLoading = false
self.obj.status = newStatus
self.user_request.status = newStatus
if (v) {
self.isCollapsed = true
}
@ -264,7 +264,7 @@ export default {
})
},
handleRemovedNote (uuid) {
this.obj.notes = this.obj.notes.filter((note) => {
this.user_request.notes = this.user_request.notes.filter((note) => {
return note.uuid !== uuid
})
}

Wyświetl plik

@ -6,9 +6,9 @@
>
<div :class="['ui', 'centered', 'active', 'inline', 'loader']" />
</div>
<template v-if="object">
<template v-if="report">
<div class="ui vertical stripe segment">
<report-card :obj="object" />
<report-card :report="report" />
</div>
</template>
</main>
@ -27,7 +27,7 @@ export default {
data () {
return {
isLoading: true,
object: null
report: null
}
},
created () {
@ -39,7 +39,7 @@ export default {
this.isLoading = true
const url = `manage/moderation/reports/${this.id}/`
axios.get(url).then(response => {
self.object = response.data
self.report = response.data
self.isLoading = false
})
}

Wyświetl plik

@ -107,7 +107,7 @@
<report-card
v-for="obj in result.results"
:key="obj.uuid"
:obj="obj"
:report="obj"
@handled="fetchData"
/>
</div>

Wyświetl plik

@ -6,9 +6,9 @@
>
<div :class="['ui', 'centered', 'active', 'inline', 'loader']" />
</div>
<template v-if="object">
<template v-if="user_request">
<div class="ui vertical stripe segment">
<user-request-card :obj="object" />
<user-request-card :user-request="user_request" />
</div>
</template>
</main>
@ -27,7 +27,7 @@ export default {
data () {
return {
isLoading: true,
object: null
user_request: null
}
},
created () {
@ -39,7 +39,7 @@ export default {
this.isLoading = true
const url = `manage/moderation/requests/${this.id}/`
axios.get(url).then(response => {
self.object = response.data
self.user_request = response.data
self.isLoading = false
})
}

Wyświetl plik

@ -105,7 +105,7 @@
<user-request-card
v-for="obj in result.results"
:key="obj.uuid"
:obj="obj"
:user-request="obj"
@handled="fetchData"
/>
<div class="ui center aligned basic segment">