Merge branch 'report-group' into 'master'
Allow to report a group See merge request framasoft/mobilizon!571
This commit is contained in:
commit
22c53b4f85
@ -28,7 +28,7 @@
|
||||
{{ $t("Reported by {reporter}", { reporter: report.reporter.preferredUsername }) }}
|
||||
</span>
|
||||
</div>
|
||||
<div class="column" v-if="report.content">{{ report.content }}</div>
|
||||
<div class="column" v-if="report.content" v-html="report.content" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -100,15 +100,15 @@ export default class ReportModal extends Vue {
|
||||
|
||||
forward = false;
|
||||
|
||||
get translatedCancelText() {
|
||||
return this.cancelText || this.$t("Cancel");
|
||||
get translatedCancelText(): string {
|
||||
return this.cancelText || (this.$t("Cancel") as string);
|
||||
}
|
||||
|
||||
get translatedConfirmText() {
|
||||
return this.confirmText || this.$t("Send the report");
|
||||
get translatedConfirmText(): string {
|
||||
return this.confirmText || (this.$t("Send the report") as string);
|
||||
}
|
||||
|
||||
confirm() {
|
||||
confirm(): void {
|
||||
this.onConfirm(this.content, this.forward);
|
||||
this.close();
|
||||
}
|
||||
@ -116,7 +116,7 @@ export default class ReportModal extends Vue {
|
||||
/**
|
||||
* Close the Dialog.
|
||||
*/
|
||||
close() {
|
||||
close(): void {
|
||||
this.isActive = false;
|
||||
this.$emit("close");
|
||||
}
|
||||
|
@ -114,7 +114,7 @@ export const REPORT = gql`
|
||||
|
||||
export const CREATE_REPORT = gql`
|
||||
mutation CreateReport(
|
||||
$eventId: ID!
|
||||
$eventId: ID
|
||||
$reporterId: ID!
|
||||
$reportedId: ID!
|
||||
$content: String
|
||||
|
@ -773,5 +773,11 @@
|
||||
"Will allow to display and manage your participation status on the event page when using this device. Uncheck if you're using a public device.": "Will allow to display and manage your participation status on the event page when using this device. Uncheck if you're using a public device.",
|
||||
"Visit event page": "Visit event page",
|
||||
"Remember my participation in this browser": "Remember my participation in this browser",
|
||||
"Organized by": "Organized by"
|
||||
"Organized by": "Organized by",
|
||||
"Report this group": "Report this group",
|
||||
"Group {groupTitle} reported": "Group {groupTitle} reported",
|
||||
"Error while reporting group {groupTitle}": "Error while reporting group {groupTitle}",
|
||||
"Reported group": "Reported group",
|
||||
"You can only get invited to groups right now.": "You can only get invited to groups right now.",
|
||||
"Join group": "Join group"
|
||||
}
|
||||
|
@ -810,5 +810,11 @@
|
||||
"Will allow to display and manage your participation status on the event page when using this device. Uncheck if you're using a public device.": "Permet d'afficher et de gérer le statut de votre participation sur la page de l'événement lorsque vous utilisez cet appareil. Décochez si vous utilisez un appareil public.",
|
||||
"Visit event page": "Voir la page de l'événement",
|
||||
"Remember my participation in this browser": "Se souvenir de ma participation dans ce navigateur",
|
||||
"Organized by": "Organisé par"
|
||||
"Organized by": "Organisé par",
|
||||
"Report this group": "Signaler ce groupe",
|
||||
"Group {groupTitle} reported": "Groupe {groupTitle} signalé",
|
||||
"Error while reporting group {groupTitle}": "Erreur lors du signalement du groupe {groupTitle}",
|
||||
"Reported group": "Groupe signalé",
|
||||
"You can only get invited to groups right now.": "Vous pouvez uniquement être invité aux groupes pour le moment.",
|
||||
"Join group": "Rejoindre le groupe"
|
||||
}
|
||||
|
@ -413,7 +413,7 @@
|
||||
<report-modal
|
||||
:on-confirm="reportEvent"
|
||||
:title="$t('Report this event')"
|
||||
:outside-domain="event.organizerActor.domain"
|
||||
:outside-domain="domainForReport"
|
||||
@close="$refs.reportModal.close()"
|
||||
/>
|
||||
</b-modal>
|
||||
@ -521,7 +521,7 @@ import {
|
||||
ParticipantRole,
|
||||
EventJoinOptions,
|
||||
} from "../../types/event.model";
|
||||
import { IPerson, Person, usernameWithDomain } from "../../types/actor";
|
||||
import { IActor, IPerson, Person, usernameWithDomain } from "../../types/actor";
|
||||
import { GRAPHQL_API_ENDPOINT } from "../../api/_entrypoint";
|
||||
import DateCalendarIcon from "../../components/Event/DateCalendarIcon.vue";
|
||||
import EventCard from "../../components/Event/EventCard.vue";
|
||||
@ -786,7 +786,7 @@ export default class Event extends EventMixin {
|
||||
variables: {
|
||||
eventId: this.event.id,
|
||||
reporterId,
|
||||
reportedId: this.event.organizerActor.id,
|
||||
reportedId: this.actorForReport ? this.actorForReport.id : null,
|
||||
content,
|
||||
forward,
|
||||
},
|
||||
@ -1026,6 +1026,23 @@ export default class Event extends EventMixin {
|
||||
this.config && (this.currentActor.id !== undefined || this.config.anonymous.reports.allowed)
|
||||
);
|
||||
}
|
||||
|
||||
get actorForReport(): IActor | null {
|
||||
if (this.event.attributedTo && this.event.attributedTo.id) {
|
||||
return this.event.attributedTo;
|
||||
}
|
||||
if (this.event.organizerActor) {
|
||||
return this.event.organizerActor;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
get domainForReport(): string | null {
|
||||
if (this.actorForReport) {
|
||||
return this.actorForReport.domain;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
|
@ -93,8 +93,8 @@
|
||||
>
|
||||
</p>
|
||||
</div>
|
||||
<div class="block-column address" v-else-if="physicalAddress">
|
||||
<address>
|
||||
<div class="block-column address" v-else>
|
||||
<address v-if="physicalAddress">
|
||||
<p class="addressDescription" :title="physicalAddress.poiInfos.name">
|
||||
{{ physicalAddress.poiInfos.name }}
|
||||
</p>
|
||||
@ -106,6 +106,27 @@
|
||||
v-if="physicalAddress && physicalAddress.geom"
|
||||
>{{ $t("Show map") }}</span
|
||||
>
|
||||
<p class="buttons">
|
||||
<b-tooltip
|
||||
:label="$t('You can only get invited to groups right now.')"
|
||||
position="is-bottom"
|
||||
>
|
||||
<b-button disabled type="is-primary">{{ $t("Join group") }}</b-button>
|
||||
</b-tooltip>
|
||||
<b-dropdown aria-role="list" position="is-bottom-left">
|
||||
<b-button slot="trigger" role="button" icon-right="dots-horizontal"> </b-button>
|
||||
<b-dropdown-item
|
||||
aria-role="listitem"
|
||||
v-if="ableToReport"
|
||||
@click="isReportModalActive = true"
|
||||
>
|
||||
<span>
|
||||
{{ $t("Report") }}
|
||||
<b-icon icon="flag" />
|
||||
</span>
|
||||
</b-dropdown-item>
|
||||
</b-dropdown>
|
||||
</p>
|
||||
</div>
|
||||
<img v-if="group.banner && group.banner.url" :src="group.banner.url" alt="" />
|
||||
</header>
|
||||
@ -291,6 +312,14 @@
|
||||
/>
|
||||
</div>
|
||||
</b-modal>
|
||||
<b-modal :active.sync="isReportModalActive" has-modal-card ref="reportModal">
|
||||
<report-modal
|
||||
:on-confirm="reportGroup"
|
||||
:title="$t('Report this group')"
|
||||
:outside-domain="group.domain"
|
||||
@close="$refs.reportModal.close()"
|
||||
/>
|
||||
</b-modal>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
@ -319,8 +348,13 @@ import FolderItem from "@/components/Resource/FolderItem.vue";
|
||||
import { Address } from "@/types/address.model";
|
||||
import Invitations from "@/components/Group/Invitations.vue";
|
||||
import addMinutes from "date-fns/addMinutes";
|
||||
import GroupSection from "../../components/Group/GroupSection.vue";
|
||||
import { CONFIG } from "@/graphql/config";
|
||||
import { CREATE_REPORT } from "@/graphql/report";
|
||||
import { IReport } from "@/types/report.model";
|
||||
import { IConfig } from "@/types/config.model";
|
||||
import RouteName from "../../router/name";
|
||||
import GroupSection from "../../components/Group/GroupSection.vue";
|
||||
import ReportModal from "../../components/Report/ReportModal.vue";
|
||||
|
||||
@Component({
|
||||
apollo: {
|
||||
@ -346,6 +380,7 @@ import RouteName from "../../router/name";
|
||||
},
|
||||
},
|
||||
currentActor: CURRENT_ACTOR_CLIENT,
|
||||
config: CONFIG,
|
||||
},
|
||||
components: {
|
||||
DiscussionListItem,
|
||||
@ -358,6 +393,7 @@ import RouteName from "../../router/name";
|
||||
ResourceItem,
|
||||
GroupSection,
|
||||
Invitations,
|
||||
ReportModal,
|
||||
"map-leaflet": () => import(/* webpackChunkName: "map" */ "../../components/Map.vue"),
|
||||
},
|
||||
metaInfo() {
|
||||
@ -385,6 +421,8 @@ export default class Group extends Vue {
|
||||
|
||||
group: IGroup = new GroupModel();
|
||||
|
||||
config!: IConfig;
|
||||
|
||||
loading = true;
|
||||
|
||||
RouteName = RouteName;
|
||||
@ -393,6 +431,8 @@ export default class Group extends Vue {
|
||||
|
||||
showMap = false;
|
||||
|
||||
isReportModalActive = false;
|
||||
|
||||
@Watch("currentActor")
|
||||
watchCurrentActor(currentActor: IActor, oldActor: IActor): void {
|
||||
if (currentActor.id && oldActor && currentActor.id !== oldActor.id) {
|
||||
@ -414,6 +454,38 @@ export default class Group extends Vue {
|
||||
}
|
||||
}
|
||||
|
||||
async reportGroup(content: string, forward: boolean): Promise<void> {
|
||||
this.isReportModalActive = false;
|
||||
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
||||
// @ts-ignore
|
||||
this.$refs.reportModal.close();
|
||||
const groupTitle = this.group.name || usernameWithDomain(this.group);
|
||||
let reporterId = null;
|
||||
if (this.currentActor.id) {
|
||||
reporterId = this.currentActor.id;
|
||||
} else if (this.config.anonymous.reports.allowed) {
|
||||
reporterId = this.config.anonymous.actorId;
|
||||
}
|
||||
if (!reporterId) return;
|
||||
try {
|
||||
await this.$apollo.mutate<IReport>({
|
||||
mutation: CREATE_REPORT,
|
||||
variables: {
|
||||
reporterId,
|
||||
reportedId: this.group.id,
|
||||
content,
|
||||
forward,
|
||||
},
|
||||
});
|
||||
this.$notifier.success(this.$t("Group {groupTitle} reported", { groupTitle }) as string);
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
this.$notifier.error(
|
||||
this.$t("Error while reporting group {groupTitle}", { groupTitle }) as string
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
get groupTitle(): undefined | string {
|
||||
if (!this.group) return undefined;
|
||||
return this.group.name || this.group.preferredUsername;
|
||||
@ -497,6 +569,12 @@ export default class Group extends Vue {
|
||||
if (!this.group.physicalAddress) return null;
|
||||
return new Address(this.group.physicalAddress);
|
||||
}
|
||||
|
||||
get ableToReport(): boolean {
|
||||
return (
|
||||
this.config && (this.currentActor.id !== undefined || this.config.anonymous.reports.allowed)
|
||||
);
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
@ -523,7 +601,6 @@ div.container {
|
||||
border: 2px solid $purple-2;
|
||||
padding: 10px 0;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
|
||||
h1 {
|
||||
color: $purple-1;
|
||||
@ -545,8 +622,10 @@ div.container {
|
||||
left: 0;
|
||||
top: 0;
|
||||
width: 100%;
|
||||
height: auto;
|
||||
height: 100%;
|
||||
opacity: 0.3;
|
||||
object-fit: cover;
|
||||
object-position: 50% 50%;
|
||||
}
|
||||
}
|
||||
|
||||
@ -571,6 +650,16 @@ div.container {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
p.buttons {
|
||||
margin-top: 1rem;
|
||||
justify-content: end;
|
||||
align-content: space-between;
|
||||
|
||||
& > span {
|
||||
margin-right: 0.5rem;
|
||||
}
|
||||
}
|
||||
|
||||
address {
|
||||
font-style: normal;
|
||||
|
||||
|
@ -43,8 +43,29 @@
|
||||
<div class="table-container">
|
||||
<table class="table is-striped is-fullwidth">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>{{ $t("Reported identity") }}</td>
|
||||
<tr v-if="report.reported.__typename === 'Group'">
|
||||
<td>{{ $t("Reported group") }}</td>
|
||||
<td>
|
||||
<router-link
|
||||
:to="{
|
||||
name: RouteName.ADMIN_GROUP_PROFILE,
|
||||
params: { id: report.reported.id },
|
||||
}"
|
||||
>
|
||||
<img
|
||||
v-if="report.reported.avatar"
|
||||
class="image"
|
||||
:src="report.reported.avatar.url"
|
||||
alt=""
|
||||
/>
|
||||
{{ displayNameAndUsername(report.reported) }}
|
||||
</router-link>
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-else>
|
||||
<td>
|
||||
{{ $t("Reported identity") }}
|
||||
</td>
|
||||
<td>
|
||||
<router-link
|
||||
:to="{
|
||||
@ -58,7 +79,7 @@
|
||||
:src="report.reported.avatar.url"
|
||||
alt=""
|
||||
/>
|
||||
@{{ report.reported.preferredUsername }}
|
||||
{{ displayNameAndUsername(report.reported) }}
|
||||
</router-link>
|
||||
</td>
|
||||
</tr>
|
||||
@ -80,7 +101,7 @@
|
||||
:src="report.reporter.avatar.url"
|
||||
alt=""
|
||||
/>
|
||||
@{{ report.reporter.preferredUsername }}
|
||||
{{ displayNameAndUsername(report.reporter) }}
|
||||
</router-link>
|
||||
</td>
|
||||
</tr>
|
||||
@ -157,38 +178,40 @@
|
||||
>
|
||||
</div>
|
||||
|
||||
<ul v-for="comment in report.comments" v-if="report.comments.length > 0" :key="comment.id">
|
||||
<li>
|
||||
<div class="box" v-if="comment">
|
||||
<article class="media">
|
||||
<div class="media-left">
|
||||
<figure class="image is-48x48" v-if="comment.actor && comment.actor.avatar">
|
||||
<img :src="comment.actor.avatar.url" alt="Image" />
|
||||
</figure>
|
||||
<b-icon class="media-left" v-else size="is-large" icon="account-circle" />
|
||||
</div>
|
||||
<div class="media-content">
|
||||
<div class="content">
|
||||
<span v-if="comment.actor">
|
||||
<strong>{{ comment.actor.name }}</strong>
|
||||
<small>@{{ comment.actor.preferredUsername }}</small>
|
||||
</span>
|
||||
<span v-else>{{ $t("Unknown actor") }}</span>
|
||||
<br />
|
||||
<p v-html="comment.text" />
|
||||
<div v-if="report.comments.length > 0">
|
||||
<ul v-for="comment in report.comments" :key="comment.id">
|
||||
<li>
|
||||
<div class="box" v-if="comment">
|
||||
<article class="media">
|
||||
<div class="media-left">
|
||||
<figure class="image is-48x48" v-if="comment.actor && comment.actor.avatar">
|
||||
<img :src="comment.actor.avatar.url" alt="Image" />
|
||||
</figure>
|
||||
<b-icon class="media-left" v-else size="is-large" icon="account-circle" />
|
||||
</div>
|
||||
<b-button
|
||||
type="is-danger"
|
||||
@click="confirmCommentDelete(comment)"
|
||||
icon-left="delete"
|
||||
size="is-small"
|
||||
>{{ $t("Delete") }}</b-button
|
||||
>
|
||||
</div>
|
||||
</article>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="media-content">
|
||||
<div class="content">
|
||||
<span v-if="comment.actor">
|
||||
<strong>{{ comment.actor.name }}</strong>
|
||||
<small>@{{ comment.actor.preferredUsername }}</small>
|
||||
</span>
|
||||
<span v-else>{{ $t("Unknown actor") }}</span>
|
||||
<br />
|
||||
<p v-html="comment.text" />
|
||||
</div>
|
||||
<b-button
|
||||
type="is-danger"
|
||||
@click="confirmCommentDelete(comment)"
|
||||
icon-left="delete"
|
||||
size="is-small"
|
||||
>{{ $t("Delete") }}</b-button
|
||||
>
|
||||
</div>
|
||||
</article>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<h2 class="title" v-if="report.notes.length > 0">{{ $t("Notes") }}</h2>
|
||||
<div class="box note" v-for="note in report.notes" :id="`note-${note.id}`" :key="note.id">
|
||||
@ -220,7 +243,7 @@ import { Component, Prop, Vue } from "vue-property-decorator";
|
||||
import { CREATE_REPORT_NOTE, REPORT, UPDATE_REPORT } from "@/graphql/report";
|
||||
import { IReport, IReportNote, ReportStatusEnum } from "@/types/report.model";
|
||||
import { CURRENT_ACTOR_CLIENT } from "@/graphql/actor";
|
||||
import { IPerson, ActorType } from "@/types/actor";
|
||||
import { IPerson, ActorType, displayNameAndUsername } from "@/types/actor";
|
||||
import { DELETE_EVENT } from "@/graphql/event";
|
||||
import { uniq } from "lodash";
|
||||
import { nl2br } from "@/utils/html";
|
||||
@ -272,7 +295,9 @@ export default class Report extends Vue {
|
||||
|
||||
noteContent = "";
|
||||
|
||||
addNote() {
|
||||
displayNameAndUsername = displayNameAndUsername;
|
||||
|
||||
addNote(): void {
|
||||
try {
|
||||
this.$apollo.mutate<{ createReportNote: IReportNote }>({
|
||||
mutation: CREATE_REPORT_NOTE,
|
||||
@ -312,7 +337,7 @@ export default class Report extends Vue {
|
||||
}
|
||||
}
|
||||
|
||||
confirmEventDelete() {
|
||||
confirmEventDelete(): void {
|
||||
this.$buefy.dialog.confirm({
|
||||
title: this.$t("Deleting event") as string,
|
||||
message: this.$t(
|
||||
@ -325,7 +350,7 @@ export default class Report extends Vue {
|
||||
});
|
||||
}
|
||||
|
||||
confirmCommentDelete(comment: IComment) {
|
||||
confirmCommentDelete(comment: IComment): void {
|
||||
this.$buefy.dialog.confirm({
|
||||
title: this.$t("Deleting comment") as string,
|
||||
message: this.$t(
|
||||
@ -338,7 +363,7 @@ export default class Report extends Vue {
|
||||
});
|
||||
}
|
||||
|
||||
async deleteEvent() {
|
||||
async deleteEvent(): Promise<void> {
|
||||
if (!this.report.event || !this.report.event.id) return;
|
||||
const eventTitle = this.report.event.title;
|
||||
|
||||
@ -364,7 +389,7 @@ export default class Report extends Vue {
|
||||
}
|
||||
}
|
||||
|
||||
async deleteComment(comment: IComment) {
|
||||
async deleteComment(comment: IComment): Promise<void> {
|
||||
try {
|
||||
await this.$apollo.mutate({
|
||||
mutation: DELETE_COMMENT,
|
||||
@ -379,7 +404,7 @@ export default class Report extends Vue {
|
||||
}
|
||||
}
|
||||
|
||||
async updateReport(status: ReportStatusEnum) {
|
||||
async updateReport(status: ReportStatusEnum): Promise<void> {
|
||||
try {
|
||||
await this.$apollo.mutate({
|
||||
mutation: UPDATE_REPORT,
|
||||
@ -415,27 +440,6 @@ export default class Report extends Vue {
|
||||
console.error(error);
|
||||
}
|
||||
}
|
||||
|
||||
// TODO make me a global function
|
||||
formatDate(value: string) {
|
||||
return value
|
||||
? new Date(value).toLocaleString(undefined, {
|
||||
weekday: "long",
|
||||
year: "numeric",
|
||||
month: "long",
|
||||
day: "numeric",
|
||||
})
|
||||
: null;
|
||||
}
|
||||
|
||||
formatTime(value: string) {
|
||||
return value
|
||||
? new Date(value).toLocaleTimeString(undefined, {
|
||||
hour: "numeric",
|
||||
minute: "numeric",
|
||||
})
|
||||
: null;
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
|
@ -44,7 +44,7 @@
|
||||
</div>
|
||||
</template>
|
||||
<script lang="ts">
|
||||
import { Component, Prop, Vue, Watch } from "vue-property-decorator";
|
||||
import { Component, Vue, Watch } from "vue-property-decorator";
|
||||
import { IReport, ReportStatusEnum } from "@/types/report.model";
|
||||
import { REPORTS } from "@/graphql/report";
|
||||
import ReportCard from "@/components/Report/ReportCard.vue";
|
||||
@ -77,7 +77,7 @@ export default class ReportList extends Vue {
|
||||
filterReports: ReportStatusEnum = ReportStatusEnum.OPEN;
|
||||
|
||||
@Watch("$route.params.filter", { immediate: true })
|
||||
onRouteFilterChanged(val: string) {
|
||||
onRouteFilterChanged(val: string): void {
|
||||
if (!val) return;
|
||||
const filter = val.toUpperCase();
|
||||
if (filter in ReportStatusEnum) {
|
||||
@ -86,7 +86,7 @@ export default class ReportList extends Vue {
|
||||
}
|
||||
|
||||
@Watch("filterReports", { immediate: true })
|
||||
async onFilterChanged(val: string) {
|
||||
async onFilterChanged(val: string): Promise<void> {
|
||||
await this.$router.push({
|
||||
name: RouteName.REPORTS,
|
||||
params: { filter: val.toLowerCase() },
|
||||
|
@ -204,7 +204,7 @@ defmodule Mobilizon.Actors.Actor do
|
||||
end
|
||||
|
||||
def display_name_and_username(%__MODULE__{name: name} = actor) do
|
||||
"#{name} (#{preferred_username_and_domain(actor)})"
|
||||
"#{name} (@#{preferred_username_and_domain(actor)})"
|
||||
end
|
||||
|
||||
@doc """
|
||||
|
@ -16,7 +16,8 @@ defmodule Mobilizon.Web.Email.Admin do
|
||||
alias Mobilizon.Web.{Email, Gettext}
|
||||
|
||||
@spec report(User.t(), Report.t(), String.t()) :: Bamboo.Email.t()
|
||||
def report(%User{email: email}, %Report{} = report, locale \\ "en") do
|
||||
def report(%User{email: email} = user, %Report{} = report, default_locale \\ "en") do
|
||||
locale = Map.get(user, :locale, default_locale)
|
||||
Gettext.put_locale(locale)
|
||||
|
||||
subject =
|
||||
|
@ -147,7 +147,7 @@ defmodule Mobilizon.Web.Router do
|
||||
get("/events/:uuid/edit", PageController, :edit_event)
|
||||
|
||||
# This is a hack to ease link generation into emails
|
||||
get("/moderation/reports/:id", PageController, :moderation_report)
|
||||
get("/moderation/report/:id", PageController, :moderation_report)
|
||||
|
||||
get("/participation/email/confirm/:token", PageController, :participation_email_confirmation)
|
||||
|
||||
|
@ -38,12 +38,34 @@
|
||||
<%= if @report.reporter.type == :Application and @report.reporter.preferred_username == "relay" do %>
|
||||
<%= gettext("Someone on <b>%{instance}</b> reported the following content for you to analyze:", instance: @report.reporter.domain) |> raw %>
|
||||
<% else %>
|
||||
<%= gettext("<b>%{reporter_name}</b> (%{reporter_username}) reported the following content.", reporter_name: @report.reporter.name, reporter_username: Mobilizon.Actors.Actor.preferred_username_and_domain(@report.reporter)) |> raw %>
|
||||
<%= gettext("<b>%{reporter}</b> reported the following content.", reporter: Mobilizon.Actors.Actor.display_name_and_username(@report.reporter)) |> raw %>
|
||||
<% end %>
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<%= if Map.has_key?(@report, :event) do %>
|
||||
<%= if @report.reported do %>
|
||||
<tr>
|
||||
<td bgcolor="#ffffff" align="left" style="padding: 20px 30px 0px 30px; color: #474467; font-family: 'Roboto', Helvetica, Arial, sans-serif; font-size: 18px; font-weight: 400; line-height: 25px;" >
|
||||
<p style="margin: 0;">
|
||||
<%= if @report.reported.type == :Group do %>
|
||||
<h3><%= gettext "Group reported" %></h3>
|
||||
<a href="<%= "#{Mobilizon.Web.Endpoint.url()}/@#{Mobilizon.Actors.Actor.preferred_username_and_domain(@report.reported)}" %>" target="_blank">
|
||||
<b><%= Mobilizon.Actors.Actor.display_name_and_username(@report.reported) %></b>
|
||||
</a>
|
||||
<% else %>
|
||||
<h3><%= gettext "Profile reported" %></h3>
|
||||
<b><%= Mobilizon.Actors.Actor.display_name_and_username(@report.reported) %></b>
|
||||
<% end %>
|
||||
</p>
|
||||
<table cellspacing="0" cellpadding="0" border="0" width="100%" style="width: 100% !important;">
|
||||
<tr>
|
||||
<td align="left" valign="top" width="600px" height="1" style="background-color: #f0f0f0; border-collapse:collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; mso-line-height-rule: exactly; line-height: 1px;"><!--[if gte mso 15]> <![endif]--></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<% end %>
|
||||
<%= if Map.has_key?(@report, :event) and @report.event do %>
|
||||
<tr>
|
||||
<td bgcolor="#ffffff" align="left" style="padding: 20px 30px 0px 30px; color: #474467; font-family: 'Roboto', Helvetica, Arial, sans-serif; font-size: 18px; font-weight: 400; line-height: 25px;" >
|
||||
<p style="margin: 0;">
|
||||
@ -82,7 +104,7 @@
|
||||
<td bgcolor="#ffffff" align="left" style="padding: 20px 30px 0px 30px; color: #474467; font-family: 'Roboto', Helvetica, Arial, sans-serif; font-size: 18px; font-weight: 400; line-height: 25px;" >
|
||||
<p style="margin: 0">
|
||||
<h3><%= gettext "Reasons for report" %></h3>
|
||||
<%= @report.content %>
|
||||
<%= @report.content |> raw %>
|
||||
</p>
|
||||
<table cellspacing="0" cellpadding="0" border="0" width="100%" style="width: 100% !important;">
|
||||
<tr>
|
||||
|
@ -1,6 +1,13 @@
|
||||
<%= gettext "New report from %{reporter} on %{instance}", reporter: @report.reporter.preferred_username, instance: @instance[:name] %>
|
||||
<%= gettext "New report from %{reporter} on %{instance}", reporter: Mobilizon.Actors.Actor.display_name_and_username(@report.reporter), instance: @instance[:name] %>
|
||||
--
|
||||
<%= if Map.has_key?(@report, :event) do %>
|
||||
<%= if @report.reported do %>
|
||||
<%= if @report.reported.type == :Group do %>
|
||||
<%= gettext "Group %{group} was reported", group: Mobilizon.Actors.Actor.display_name_and_username(@report.reported) %>
|
||||
<% else %>
|
||||
<%= gettext "Profile %{profile} was reported", group: Mobilizon.Actors.Actor.display_name_and_username(@report.reported) %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<%= if Map.has_key?(@report, :event) and @report.event do %>
|
||||
<%= gettext "Event" %>
|
||||
<%= @report.event.title %>
|
||||
<% end %>
|
||||
|
@ -26,7 +26,7 @@ msgid "Feed for %{email} on Mobilizon"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/report.html.eex:52
|
||||
#: lib/web/templates/email/report.html.eex:74
|
||||
msgid "%{title} by %{creator}"
|
||||
msgstr "%{title} لِـ %{creator}"
|
||||
|
||||
@ -42,13 +42,13 @@ msgid "Ask the community on Framacolibri"
|
||||
msgstr "أطلب مِن المجتمَع على Framacolibri"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/report.text.eex:8
|
||||
#: lib/web/templates/email/report.text.eex:15
|
||||
msgid "Comments"
|
||||
msgstr "التعليقات"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/event_updated.html.eex:62
|
||||
#: lib/web/templates/email/report.html.eex:50 lib/web/templates/email/report.text.eex:4
|
||||
#: lib/web/templates/email/report.html.eex:72 lib/web/templates/email/report.text.eex:11
|
||||
msgid "Event"
|
||||
msgstr "الفعالية"
|
||||
|
||||
@ -58,7 +58,7 @@ msgid "Instructions to reset your password on %{instance}"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/report.text.eex:14
|
||||
#: lib/web/templates/email/report.text.eex:21
|
||||
msgid "Reason"
|
||||
msgstr "السبب"
|
||||
|
||||
@ -78,7 +78,7 @@ msgid "Instructions to confirm your Mobilizon account on %{instance}"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/email/admin.ex:23
|
||||
#: lib/web/email/admin.ex:24
|
||||
msgid "New report on Mobilizon instance %{instance}"
|
||||
msgstr ""
|
||||
|
||||
@ -739,7 +739,7 @@ msgid "Your content is yours"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/anonymous_participation_confirmation.html.eex:58
|
||||
#: lib/web/templates/email/anonymous_participation_confirmation.html.eex:51
|
||||
msgid "Confirm my e-mail address"
|
||||
msgstr ""
|
||||
|
||||
@ -766,11 +766,6 @@ msgstr ""
|
||||
msgid "You created an account on <b>%{host}</b> with this email address. You are one click away from activating it."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/report.html.eex:41
|
||||
msgid "<b>%{reporter_name}</b> (%{reporter_username}) reported the following content."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/report.html.eex:13
|
||||
msgid "New report on <b>%{instance}</b>"
|
||||
@ -797,7 +792,7 @@ msgid "Please do not use it for real purposes."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/anonymous_participation_confirmation.html.eex:45
|
||||
#: lib/web/templates/email/anonymous_participation_confirmation.html.eex:63
|
||||
#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:6 lib/web/templates/email/event_updated.html.eex:131
|
||||
#: lib/web/templates/email/event_updated.text.eex:24 lib/web/templates/email/notification_each_week.html.eex:70
|
||||
#: lib/web/templates/email/notification_each_week.text.eex:14 lib/web/templates/email/on_day_notification.html.eex:70
|
||||
@ -868,7 +863,7 @@ msgid "Event update!"
|
||||
msgstr "تم تحديث الفعالية!"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/report.html.eex:66
|
||||
#: lib/web/templates/email/report.html.eex:88
|
||||
msgid "Flagged comments"
|
||||
msgstr ""
|
||||
|
||||
@ -957,7 +952,7 @@ msgid "New email confirmation"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/report.html.eex:84
|
||||
#: lib/web/templates/email/report.html.eex:106
|
||||
msgid "Reasons for report"
|
||||
msgstr ""
|
||||
|
||||
@ -1018,12 +1013,12 @@ msgid "Verify your email address"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/report.html.eex:104
|
||||
#: lib/web/templates/email/report.html.eex:126
|
||||
msgid "View report"
|
||||
msgstr "إعرض التقرير"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/report.text.eex:17
|
||||
#: lib/web/templates/email/report.text.eex:24
|
||||
msgid "View report:"
|
||||
msgstr "إعرض التقرير"
|
||||
|
||||
@ -1290,7 +1285,6 @@ msgid "Your content may be downloaded by other instances in the network. Your pu
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/event_participation_confirmed.html.eex:45
|
||||
#: lib/web/templates/email/event_participation_confirmed.text.eex:4
|
||||
msgid "You have confirmed your participation. Update your calendar, because you're on the guest list now!"
|
||||
msgstr ""
|
||||
@ -1305,3 +1299,33 @@ msgstr "لقد قمتَ بتقديم طلب للمشاركة في فعالية %
|
||||
#: lib/web/email/participation.ex:92
|
||||
msgid "Your participation to event %{title} has been confirmed"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format, fuzzy
|
||||
#: lib/web/templates/email/report.html.eex:41
|
||||
msgid "<b>%{reporter}</b> reported the following content."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/report.text.eex:5
|
||||
msgid "Group %{group} was reported"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/report.html.eex:51
|
||||
msgid "Group reported"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/report.text.eex:7
|
||||
msgid "Profile %{profile} was reported"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/report.html.eex:56
|
||||
msgid "Profile reported"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format, fuzzy
|
||||
#: lib/web/templates/email/event_participation_confirmed.html.eex:45
|
||||
msgid "You have now confirmed your participation. Update your calendar, because you're on the guest list now!"
|
||||
msgstr ""
|
||||
|
@ -23,7 +23,7 @@ msgid "Feed for %{email} on Mobilizon"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/report.html.eex:52
|
||||
#: lib/web/templates/email/report.html.eex:74
|
||||
msgid "%{title} by %{creator}"
|
||||
msgstr ""
|
||||
|
||||
@ -39,13 +39,13 @@ msgid "Ask the community on Framacolibri"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/report.text.eex:8
|
||||
#: lib/web/templates/email/report.text.eex:15
|
||||
msgid "Comments"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/event_updated.html.eex:62
|
||||
#: lib/web/templates/email/report.html.eex:50 lib/web/templates/email/report.text.eex:4
|
||||
#: lib/web/templates/email/report.html.eex:72 lib/web/templates/email/report.text.eex:11
|
||||
msgid "Event"
|
||||
msgstr ""
|
||||
|
||||
@ -55,7 +55,7 @@ msgid "Instructions to reset your password on %{instance}"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/report.text.eex:14
|
||||
#: lib/web/templates/email/report.text.eex:21
|
||||
msgid "Reason"
|
||||
msgstr ""
|
||||
|
||||
@ -75,7 +75,7 @@ msgid "Instructions to confirm your Mobilizon account on %{instance}"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/email/admin.ex:23
|
||||
#: lib/web/email/admin.ex:24
|
||||
msgid "New report on Mobilizon instance %{instance}"
|
||||
msgstr ""
|
||||
|
||||
@ -721,7 +721,7 @@ msgid "Your content is yours"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/anonymous_participation_confirmation.html.eex:58
|
||||
#: lib/web/templates/email/anonymous_participation_confirmation.html.eex:51
|
||||
msgid "Confirm my e-mail address"
|
||||
msgstr ""
|
||||
|
||||
@ -748,11 +748,6 @@ msgstr ""
|
||||
msgid "You created an account on <b>%{host}</b> with this email address. You are one click away from activating it."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/report.html.eex:41
|
||||
msgid "<b>%{reporter_name}</b> (%{reporter_username}) reported the following content."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/report.html.eex:13
|
||||
msgid "New report on <b>%{instance}</b>"
|
||||
@ -779,7 +774,7 @@ msgid "Please do not use it for real purposes."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/anonymous_participation_confirmation.html.eex:45
|
||||
#: lib/web/templates/email/anonymous_participation_confirmation.html.eex:63
|
||||
#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:6 lib/web/templates/email/event_updated.html.eex:131
|
||||
#: lib/web/templates/email/event_updated.text.eex:24 lib/web/templates/email/notification_each_week.html.eex:70
|
||||
#: lib/web/templates/email/notification_each_week.text.eex:14 lib/web/templates/email/on_day_notification.html.eex:70
|
||||
@ -844,7 +839,7 @@ msgid "Event update!"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/report.html.eex:66
|
||||
#: lib/web/templates/email/report.html.eex:88
|
||||
msgid "Flagged comments"
|
||||
msgstr ""
|
||||
|
||||
@ -933,7 +928,7 @@ msgid "New email confirmation"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/report.html.eex:84
|
||||
#: lib/web/templates/email/report.html.eex:106
|
||||
msgid "Reasons for report"
|
||||
msgstr ""
|
||||
|
||||
@ -994,12 +989,12 @@ msgid "Verify your email address"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/report.html.eex:104
|
||||
#: lib/web/templates/email/report.html.eex:126
|
||||
msgid "View report"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/report.text.eex:17
|
||||
#: lib/web/templates/email/report.text.eex:24
|
||||
msgid "View report:"
|
||||
msgstr ""
|
||||
|
||||
@ -1266,7 +1261,6 @@ msgid "Your content may be downloaded by other instances in the network. Your pu
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/event_participation_confirmed.html.eex:45
|
||||
#: lib/web/templates/email/event_participation_confirmed.text.eex:4
|
||||
msgid "You have confirmed your participation. Update your calendar, because you're on the guest list now!"
|
||||
msgstr ""
|
||||
@ -1281,3 +1275,33 @@ msgstr ""
|
||||
#: lib/web/email/participation.ex:92
|
||||
msgid "Your participation to event %{title} has been confirmed"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format, fuzzy
|
||||
#: lib/web/templates/email/report.html.eex:41
|
||||
msgid "<b>%{reporter}</b> reported the following content."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/report.text.eex:5
|
||||
msgid "Group %{group} was reported"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/report.html.eex:51
|
||||
msgid "Group reported"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/report.text.eex:7
|
||||
msgid "Profile %{profile} was reported"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/report.html.eex:56
|
||||
msgid "Profile reported"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format, fuzzy
|
||||
#: lib/web/templates/email/event_participation_confirmed.html.eex:45
|
||||
msgid "You have now confirmed your participation. Update your calendar, because you're on the guest list now!"
|
||||
msgstr ""
|
||||
|
@ -27,7 +27,7 @@ msgid "Feed for %{email} on Mobilizon"
|
||||
msgstr "Flux per %{email} a Mobilizon"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/report.html.eex:52
|
||||
#: lib/web/templates/email/report.html.eex:74
|
||||
msgid "%{title} by %{creator}"
|
||||
msgstr "%{title} de %{creator}"
|
||||
|
||||
@ -43,13 +43,13 @@ msgid "Ask the community on Framacolibri"
|
||||
msgstr "Pregunta a la comunitat a Framacolibri"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/report.text.eex:8
|
||||
#: lib/web/templates/email/report.text.eex:15
|
||||
msgid "Comments"
|
||||
msgstr "Comentaris"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/event_updated.html.eex:62
|
||||
#: lib/web/templates/email/report.html.eex:50 lib/web/templates/email/report.text.eex:4
|
||||
#: lib/web/templates/email/report.html.eex:72 lib/web/templates/email/report.text.eex:11
|
||||
msgid "Event"
|
||||
msgstr "Activitat"
|
||||
|
||||
@ -59,7 +59,7 @@ msgid "Instructions to reset your password on %{instance}"
|
||||
msgstr "Instruccions per canviar la contrasenya a %{instance}"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/report.text.eex:14
|
||||
#: lib/web/templates/email/report.text.eex:21
|
||||
msgid "Reason"
|
||||
msgstr "Raó"
|
||||
|
||||
@ -81,7 +81,7 @@ msgid "Instructions to confirm your Mobilizon account on %{instance}"
|
||||
msgstr "Instruccions per confirmar el teu compte de Mobilizon a %{instance}"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/email/admin.ex:23
|
||||
#: lib/web/email/admin.ex:24
|
||||
msgid "New report on Mobilizon instance %{instance}"
|
||||
msgstr "S'ha denunciat una activitat al servidor de Mobilizon %{instance}"
|
||||
|
||||
@ -726,7 +726,7 @@ msgid "Your content is yours"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/anonymous_participation_confirmation.html.eex:58
|
||||
#: lib/web/templates/email/anonymous_participation_confirmation.html.eex:51
|
||||
msgid "Confirm my e-mail address"
|
||||
msgstr ""
|
||||
|
||||
@ -754,11 +754,6 @@ msgid "You created an account on <b>%{host}</b> with this email address. You are
|
||||
msgstr ""
|
||||
"Has creat un compte a %{host} amb aquest mail. Estàs a un clic d'activar-lo."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/report.html.eex:41
|
||||
msgid "<b>%{reporter_name}</b> (%{reporter_username}) reported the following content."
|
||||
msgstr "%{reporter_name} (%{reporter_username}) ha denunciat aquest contingut."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/report.html.eex:13
|
||||
msgid "New report on <b>%{instance}</b>"
|
||||
@ -788,7 +783,7 @@ msgid "Please do not use it for real purposes."
|
||||
msgstr "No ho facis servir més que proves, sisplau"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/anonymous_participation_confirmation.html.eex:45
|
||||
#: lib/web/templates/email/anonymous_participation_confirmation.html.eex:63
|
||||
#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:6 lib/web/templates/email/event_updated.html.eex:131
|
||||
#: lib/web/templates/email/event_updated.text.eex:24 lib/web/templates/email/notification_each_week.html.eex:70
|
||||
#: lib/web/templates/email/notification_each_week.text.eex:14 lib/web/templates/email/on_day_notification.html.eex:70
|
||||
@ -855,7 +850,7 @@ msgid "Event update!"
|
||||
msgstr "S'ha actualitzat l'activitat!"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/report.html.eex:66
|
||||
#: lib/web/templates/email/report.html.eex:88
|
||||
msgid "Flagged comments"
|
||||
msgstr ""
|
||||
|
||||
@ -950,7 +945,7 @@ msgid "New email confirmation"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/report.html.eex:84
|
||||
#: lib/web/templates/email/report.html.eex:106
|
||||
msgid "Reasons for report"
|
||||
msgstr ""
|
||||
|
||||
@ -1011,12 +1006,12 @@ msgid "Verify your email address"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/report.html.eex:104
|
||||
#: lib/web/templates/email/report.html.eex:126
|
||||
msgid "View report"
|
||||
msgstr "Mostra la denúncia"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/report.text.eex:17
|
||||
#: lib/web/templates/email/report.text.eex:24
|
||||
msgid "View report:"
|
||||
msgstr "Mostra la denúncia"
|
||||
|
||||
@ -1286,7 +1281,6 @@ msgid "Your content may be downloaded by other instances in the network. Your pu
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/event_participation_confirmed.html.eex:45
|
||||
#: lib/web/templates/email/event_participation_confirmed.text.eex:4
|
||||
msgid "You have confirmed your participation. Update your calendar, because you're on the guest list now!"
|
||||
msgstr ""
|
||||
@ -1301,3 +1295,33 @@ msgstr "Has soŀlicitat participar a l'activitat %{title}."
|
||||
#: lib/web/email/participation.ex:92
|
||||
msgid "Your participation to event %{title} has been confirmed"
|
||||
msgstr "T'han aprovat la participació a %{title}"
|
||||
|
||||
#, elixir-format, fuzzy
|
||||
#: lib/web/templates/email/report.html.eex:41
|
||||
msgid "<b>%{reporter}</b> reported the following content."
|
||||
msgstr "%{reporter_name} (%{reporter_username}) ha denunciat aquest contingut."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/report.text.eex:5
|
||||
msgid "Group %{group} was reported"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/report.html.eex:51
|
||||
msgid "Group reported"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/report.text.eex:7
|
||||
msgid "Profile %{profile} was reported"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/report.html.eex:56
|
||||
msgid "Profile reported"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format, fuzzy
|
||||
#: lib/web/templates/email/event_participation_confirmed.html.eex:45
|
||||
msgid "You have now confirmed your participation. Update your calendar, because you're on the guest list now!"
|
||||
msgstr ""
|
||||
|
@ -23,7 +23,7 @@ msgid "Feed for %{email} on Mobilizon"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/report.html.eex:52
|
||||
#: lib/web/templates/email/report.html.eex:74
|
||||
msgid "%{title} by %{creator}"
|
||||
msgstr ""
|
||||
|
||||
@ -39,13 +39,13 @@ msgid "Ask the community on Framacolibri"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/report.text.eex:8
|
||||
#: lib/web/templates/email/report.text.eex:15
|
||||
msgid "Comments"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/event_updated.html.eex:62
|
||||
#: lib/web/templates/email/report.html.eex:50 lib/web/templates/email/report.text.eex:4
|
||||
#: lib/web/templates/email/report.html.eex:72 lib/web/templates/email/report.text.eex:11
|
||||
msgid "Event"
|
||||
msgstr ""
|
||||
|
||||
@ -55,7 +55,7 @@ msgid "Instructions to reset your password on %{instance}"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/report.text.eex:14
|
||||
#: lib/web/templates/email/report.text.eex:21
|
||||
msgid "Reason"
|
||||
msgstr ""
|
||||
|
||||
@ -75,7 +75,7 @@ msgid "Instructions to confirm your Mobilizon account on %{instance}"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/email/admin.ex:23
|
||||
#: lib/web/email/admin.ex:24
|
||||
msgid "New report on Mobilizon instance %{instance}"
|
||||
msgstr ""
|
||||
|
||||
@ -721,7 +721,7 @@ msgid "Your content is yours"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/anonymous_participation_confirmation.html.eex:58
|
||||
#: lib/web/templates/email/anonymous_participation_confirmation.html.eex:51
|
||||
msgid "Confirm my e-mail address"
|
||||
msgstr ""
|
||||
|
||||
@ -748,11 +748,6 @@ msgstr ""
|
||||
msgid "You created an account on <b>%{host}</b> with this email address. You are one click away from activating it."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/report.html.eex:41
|
||||
msgid "<b>%{reporter_name}</b> (%{reporter_username}) reported the following content."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/report.html.eex:13
|
||||
msgid "New report on <b>%{instance}</b>"
|
||||
@ -779,7 +774,7 @@ msgid "Please do not use it for real purposes."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/anonymous_participation_confirmation.html.eex:45
|
||||
#: lib/web/templates/email/anonymous_participation_confirmation.html.eex:63
|
||||
#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:6 lib/web/templates/email/event_updated.html.eex:131
|
||||
#: lib/web/templates/email/event_updated.text.eex:24 lib/web/templates/email/notification_each_week.html.eex:70
|
||||
#: lib/web/templates/email/notification_each_week.text.eex:14 lib/web/templates/email/on_day_notification.html.eex:70
|
||||
@ -844,7 +839,7 @@ msgid "Event update!"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/report.html.eex:66
|
||||
#: lib/web/templates/email/report.html.eex:88
|
||||
msgid "Flagged comments"
|
||||
msgstr ""
|
||||
|
||||
@ -933,7 +928,7 @@ msgid "New email confirmation"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/report.html.eex:84
|
||||
#: lib/web/templates/email/report.html.eex:106
|
||||
msgid "Reasons for report"
|
||||
msgstr ""
|
||||
|
||||
@ -994,12 +989,12 @@ msgid "Verify your email address"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/report.html.eex:104
|
||||
#: lib/web/templates/email/report.html.eex:126
|
||||
msgid "View report"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/report.text.eex:17
|
||||
#: lib/web/templates/email/report.text.eex:24
|
||||
msgid "View report:"
|
||||
msgstr ""
|
||||
|
||||
@ -1266,7 +1261,6 @@ msgid "Your content may be downloaded by other instances in the network. Your pu
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/event_participation_confirmed.html.eex:45
|
||||
#: lib/web/templates/email/event_participation_confirmed.text.eex:4
|
||||
msgid "You have confirmed your participation. Update your calendar, because you're on the guest list now!"
|
||||
msgstr ""
|
||||
@ -1281,3 +1275,33 @@ msgstr ""
|
||||
#: lib/web/email/participation.ex:92
|
||||
msgid "Your participation to event %{title} has been confirmed"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format, fuzzy
|
||||
#: lib/web/templates/email/report.html.eex:41
|
||||
msgid "<b>%{reporter}</b> reported the following content."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/report.text.eex:5
|
||||
msgid "Group %{group} was reported"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/report.html.eex:51
|
||||
msgid "Group reported"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/report.text.eex:7
|
||||
msgid "Profile %{profile} was reported"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/report.html.eex:56
|
||||
msgid "Profile reported"
|
||||
msgstr ""
|
||||
|
||||