Make sure only proper pictures are uploaded

Closes #384

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
This commit is contained in:
Thomas Citharel 2020-10-09 19:29:12 +02:00
parent 646f298e0b
commit dad9623482
No known key found for this signature in database
GPG Key ID: A061B9DDE0CA0773
27 changed files with 1190 additions and 738 deletions

View File

@ -63,6 +63,7 @@ config :mobilizon, Mobilizon.Web.Upload,
Mobilizon.Web.Upload.Filter.Dedupe,
Mobilizon.Web.Upload.Filter.Optimize
],
allow_list_mime_types: ["image/gif", "image/jpeg", "image/png", "image/webp"],
link_name: true,
proxy_remote: false,
proxy_opts: [

View File

@ -524,16 +524,23 @@ export default class EditorComponent extends Vue {
*/
async showImagePrompt(command: Function): Promise<void> {
const image = await listenFileUpload();
const { data } = await this.$apollo.mutate({
mutation: UPLOAD_PICTURE,
variables: {
file: image,
name: image.name,
actorId: this.currentActor.id,
},
});
if (data.uploadPicture && data.uploadPicture.url) {
command({ src: data.uploadPicture.url });
try {
const { data } = await this.$apollo.mutate({
mutation: UPLOAD_PICTURE,
variables: {
file: image,
name: image.name,
actorId: this.currentActor.id,
},
});
if (data.uploadPicture && data.uploadPicture.url) {
command({ src: data.uploadPicture.url });
}
} catch (error) {
console.error(error);
if (error.graphQLErrors && error.graphQLErrors.length > 0) {
this.$notifier.error(error.graphQLErrors[0].message);
}
}
}

View File

@ -71,8 +71,8 @@ export default class Image extends Node {
return false;
}
const images = Array.from(realEvent.dataTransfer.files).filter((file: any) =>
/image/i.test(file.type)
const images = Array.from(realEvent.dataTransfer.files).filter(
(file: any) => /image/i.test(file.type) && !/svg/i.test(file.type)
);
if (images.length === 0) {
@ -91,20 +91,25 @@ export default class Image extends Node {
const editorElem = document.getElementById("tiptab-editor");
const actorId = editorElem && editorElem.dataset.actorId;
images.forEach(async (image) => {
const { data } = await client.mutate({
mutation: UPLOAD_PICTURE,
variables: {
actorId,
file: image,
name: image.name,
},
try {
images.forEach(async (image) => {
const { data } = await client.mutate({
mutation: UPLOAD_PICTURE,
variables: {
actorId,
file: image,
name: image.name,
},
});
const node = schema.nodes.image.create({ src: data.uploadPicture.url });
const transaction = view.state.tr.insert(coordinates.pos, node);
view.dispatch(transaction);
});
const node = schema.nodes.image.create({ src: data.uploadPicture.url });
const transaction = view.state.tr.insert(coordinates.pos, node);
view.dispatch(transaction);
});
return true;
return true;
} catch (error) {
console.error(error);
return false;
}
},
},
},

View File

@ -241,7 +241,7 @@ defmodule Mobilizon.GraphQL.Resolvers.Event do
{:error, dgettext("errors", "You can't edit this event.")}
{:new_actor, _} ->
{:error, dgettext("errors", "You can't attribute this new event to this profile.")}
{:error, dgettext("errors", "You can't attribute this event to this profile.")}
{:error, _, %Ecto.Changeset{} = error, _} ->
{:error, error}

View File

@ -74,6 +74,9 @@ defmodule Mobilizon.GraphQL.Resolvers.Picture do
{:is_owned, nil} ->
{:error, dgettext("errors", "Profile is not owned by authenticated user")}
{:error, :mime_type_not_allowed} ->
{:error, dgettext("errors", "File doesn't have an allowed MIME type.")}
error ->
{:error, error}
end

View File

@ -126,6 +126,12 @@ defmodule Mobilizon.Web.Upload do
uploader: Keyword.get(opts, :uploader, Config.get([__MODULE__, :uploader])),
filters: Keyword.get(opts, :filters, Config.get([__MODULE__, :filters])),
description: Keyword.get(opts, :description),
allow_list_mime_types:
Keyword.get(
opts,
:allow_list_mime_types,
Config.get([__MODULE__, :allow_list_mime_types])
),
base_url:
Keyword.get(
opts,
@ -137,7 +143,8 @@ defmodule Mobilizon.Web.Upload do
defp prepare_upload(%Plug.Upload{} = file, opts) do
with {:ok, size} <- check_file_size(file.path, opts.size_limit),
{:ok, content_type, name} <- MIME.file_mime_type(file.path, file.filename) do
{:ok, content_type, name} <- MIME.file_mime_type(file.path, file.filename),
:ok <- check_allowed_mime_type(content_type, opts.allow_list_mime_types) do
{:ok,
%__MODULE__{
id: UUID.generate(),
@ -152,7 +159,8 @@ defmodule Mobilizon.Web.Upload do
defp prepare_upload(%{body: body, name: name} = _file, opts) do
with :ok <- check_binary_size(body, opts.size_limit),
tmp_path <- tempfile_for_image(body),
{:ok, content_type, name} <- MIME.file_mime_type(tmp_path, name) do
{:ok, content_type, name} <- MIME.file_mime_type(tmp_path, name),
:ok <- check_allowed_mime_type(content_type, opts.allow_list_mime_types) do
{:ok,
%__MODULE__{
id: UUID.generate(),
@ -207,4 +215,11 @@ defmodule Mobilizon.Web.Upload do
end
defp url_from_spec(_upload, _base_url, {:url, url}), do: url
@spec check_allowed_mime_type(String.t(), List.t()) :: :ok | {:error, :atom}
defp check_allowed_mime_type(content_type, allow_list_mime_types) do
if Enum.any?(allow_list_mime_types, &(&1 == content_type)),
do: :ok,
else: {:error, :mime_type_not_allowed}
end
end

View File

@ -124,17 +124,17 @@ msgid "Cannot refresh the token"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:139 lib/graphql/resolvers/group.ex:170
#: lib/graphql/resolvers/group.ex:139
msgid "Creator profile is not owned by the current user"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:201
#: lib/graphql/resolvers/group.ex:203
msgid "Current profile is not a member of this group"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:205
#: lib/graphql/resolvers/group.ex:207
msgid "Current profile is not an administrator of the selected group"
msgstr ""
@ -144,8 +144,8 @@ msgid "Error while saving user settings"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:198 lib/graphql/resolvers/group.ex:246
#: lib/graphql/resolvers/group.ex:281 lib/graphql/resolvers/member.ex:80
#: lib/graphql/resolvers/group.ex:200 lib/graphql/resolvers/group.ex:248
#: lib/graphql/resolvers/group.ex:283 lib/graphql/resolvers/member.ex:80
msgid "Group not found"
msgstr ""
@ -165,7 +165,7 @@ msgid "Impossible to authenticate, either your email or password are invalid."
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:278
#: lib/graphql/resolvers/group.ex:280
msgid "Member not found"
msgstr ""
@ -188,7 +188,7 @@ msgstr ""
#, elixir-format
#: lib/graphql/resolvers/comment.ex:50 lib/graphql/resolvers/comment.ex:112
#: lib/graphql/resolvers/event.ex:281 lib/graphql/resolvers/feed_token.ex:28 lib/graphql/resolvers/group.ex:243
#: lib/graphql/resolvers/event.ex:286 lib/graphql/resolvers/feed_token.ex:28 lib/graphql/resolvers/group.ex:245
#: lib/graphql/resolvers/member.ex:77 lib/graphql/resolvers/participant.ex:29
#: lib/graphql/resolvers/participant.ex:163 lib/graphql/resolvers/participant.ex:192 lib/graphql/resolvers/person.ex:157
#: lib/graphql/resolvers/person.ex:191 lib/graphql/resolvers/person.ex:256 lib/graphql/resolvers/person.ex:288
@ -259,17 +259,17 @@ msgid "User requested is not logged-in"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:252
#: lib/graphql/resolvers/group.ex:254
msgid "You are already a member of this group"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:285
#: lib/graphql/resolvers/group.ex:287
msgid "You can't leave this group because you are the only administrator"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:249
#: lib/graphql/resolvers/group.ex:251
msgid "You cannot join this group"
msgstr ""
@ -289,7 +289,7 @@ msgid "You need to be logged-in to change your password"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:210
#: lib/graphql/resolvers/group.ex:212
msgid "You need to be logged-in to delete a group"
msgstr ""
@ -299,17 +299,17 @@ msgid "You need to be logged-in to delete your account"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:257
#: lib/graphql/resolvers/group.ex:259
msgid "You need to be logged-in to join a group"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:290
#: lib/graphql/resolvers/group.ex:292
msgid "You need to be logged-in to leave a group"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:175
#: lib/graphql/resolvers/group.ex:177
msgid "You need to be logged-in to update a group"
msgstr ""
@ -414,8 +414,8 @@ msgid "Event id not found"
msgstr ""
#, elixir-format
#: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:236
#: lib/graphql/resolvers/event.ex:278
#: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:238
#: lib/graphql/resolvers/event.ex:283
msgid "Event not found"
msgstr ""
@ -567,11 +567,6 @@ msgstr ""
msgid "Token is not a valid UUID"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/event.ex:239
msgid "User doesn't own profile"
msgstr ""
#, elixir-format
#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:323
msgid "User not found"
@ -644,7 +639,7 @@ msgid "You cannot delete this comment"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/event.ex:274
#: lib/graphql/resolvers/event.ex:279
msgid "You cannot delete this event"
msgstr ""
@ -724,7 +719,7 @@ msgid "You need to be logged-in to create resources"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/event.ex:286
#: lib/graphql/resolvers/event.ex:291
msgid "You need to be logged-in to delete an event"
msgstr ""
@ -749,7 +744,7 @@ msgid "You need to be logged-in to leave an event"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/event.ex:247
#: lib/graphql/resolvers/event.ex:252
msgid "You need to be logged-in to update an event"
msgstr ""
@ -769,7 +764,7 @@ msgid "You need to be logged-in to view a resource preview"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/picture.ex:83
#: lib/graphql/resolvers/picture.ex:86
msgid "You need to login to upload a picture"
msgstr ""
@ -862,3 +857,23 @@ msgstr ""
#: lib/graphql/resolvers/member.ex:129
msgid "You can't reject this invitation with this profile."
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/picture.ex:78
msgid "File doesn't have an allowed MIME type."
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:172
msgid "Profile is not administrator for the group"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/event.ex:241
msgid "You can't edit this event."
msgstr ""
#, elixir-format, fuzzy
#: lib/graphql/resolvers/event.ex:244
msgid "You can't attribute this event to this profile."
msgstr ""

View File

@ -98,17 +98,17 @@ msgid "Cannot refresh the token"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:139 lib/graphql/resolvers/group.ex:170
#: lib/graphql/resolvers/group.ex:139
msgid "Creator profile is not owned by the current user"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:201
#: lib/graphql/resolvers/group.ex:203
msgid "Current profile is not a member of this group"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:205
#: lib/graphql/resolvers/group.ex:207
msgid "Current profile is not an administrator of the selected group"
msgstr ""
@ -118,8 +118,8 @@ msgid "Error while saving user settings"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:198 lib/graphql/resolvers/group.ex:246
#: lib/graphql/resolvers/group.ex:281 lib/graphql/resolvers/member.ex:80
#: lib/graphql/resolvers/group.ex:200 lib/graphql/resolvers/group.ex:248
#: lib/graphql/resolvers/group.ex:283 lib/graphql/resolvers/member.ex:80
msgid "Group not found"
msgstr ""
@ -139,7 +139,7 @@ msgid "Impossible to authenticate, either your email or password are invalid."
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:278
#: lib/graphql/resolvers/group.ex:280
msgid "Member not found"
msgstr ""
@ -162,7 +162,7 @@ msgstr ""
#, elixir-format
#: lib/graphql/resolvers/comment.ex:50 lib/graphql/resolvers/comment.ex:112
#: lib/graphql/resolvers/event.ex:281 lib/graphql/resolvers/feed_token.ex:28 lib/graphql/resolvers/group.ex:243
#: lib/graphql/resolvers/event.ex:286 lib/graphql/resolvers/feed_token.ex:28 lib/graphql/resolvers/group.ex:245
#: lib/graphql/resolvers/member.ex:77 lib/graphql/resolvers/participant.ex:29
#: lib/graphql/resolvers/participant.ex:163 lib/graphql/resolvers/participant.ex:192 lib/graphql/resolvers/person.ex:157
#: lib/graphql/resolvers/person.ex:191 lib/graphql/resolvers/person.ex:256 lib/graphql/resolvers/person.ex:288
@ -233,17 +233,17 @@ msgid "User requested is not logged-in"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:252
#: lib/graphql/resolvers/group.ex:254
msgid "You are already a member of this group"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:285
#: lib/graphql/resolvers/group.ex:287
msgid "You can't leave this group because you are the only administrator"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:249
#: lib/graphql/resolvers/group.ex:251
msgid "You cannot join this group"
msgstr ""
@ -263,7 +263,7 @@ msgid "You need to be logged-in to change your password"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:210
#: lib/graphql/resolvers/group.ex:212
msgid "You need to be logged-in to delete a group"
msgstr ""
@ -273,17 +273,17 @@ msgid "You need to be logged-in to delete your account"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:257
#: lib/graphql/resolvers/group.ex:259
msgid "You need to be logged-in to join a group"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:290
#: lib/graphql/resolvers/group.ex:292
msgid "You need to be logged-in to leave a group"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:175
#: lib/graphql/resolvers/group.ex:177
msgid "You need to be logged-in to update a group"
msgstr ""
@ -388,8 +388,8 @@ msgid "Event id not found"
msgstr ""
#, elixir-format
#: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:236
#: lib/graphql/resolvers/event.ex:278
#: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:238
#: lib/graphql/resolvers/event.ex:283
msgid "Event not found"
msgstr ""
@ -541,11 +541,6 @@ msgstr ""
msgid "Token is not a valid UUID"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/event.ex:239
msgid "User doesn't own profile"
msgstr ""
#, elixir-format
#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:323
msgid "User not found"
@ -618,7 +613,7 @@ msgid "You cannot delete this comment"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/event.ex:274
#: lib/graphql/resolvers/event.ex:279
msgid "You cannot delete this event"
msgstr ""
@ -698,7 +693,7 @@ msgid "You need to be logged-in to create resources"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/event.ex:286
#: lib/graphql/resolvers/event.ex:291
msgid "You need to be logged-in to delete an event"
msgstr ""
@ -723,7 +718,7 @@ msgid "You need to be logged-in to leave an event"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/event.ex:247
#: lib/graphql/resolvers/event.ex:252
msgid "You need to be logged-in to update an event"
msgstr ""
@ -743,7 +738,7 @@ msgid "You need to be logged-in to view a resource preview"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/picture.ex:83
#: lib/graphql/resolvers/picture.ex:86
msgid "You need to login to upload a picture"
msgstr ""
@ -836,3 +831,23 @@ msgstr ""
#: lib/graphql/resolvers/member.ex:129
msgid "You can't reject this invitation with this profile."
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/picture.ex:78
msgid "File doesn't have an allowed MIME type."
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:172
msgid "Profile is not administrator for the group"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/event.ex:241
msgid "You can't edit this event."
msgstr ""
#, elixir-format, fuzzy
#: lib/graphql/resolvers/event.ex:244
msgid "You can't attribute this event to this profile."
msgstr ""

View File

@ -92,17 +92,17 @@ msgid "Cannot refresh the token"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:139 lib/graphql/resolvers/group.ex:170
#: lib/graphql/resolvers/group.ex:139
msgid "Creator profile is not owned by the current user"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:201
#: lib/graphql/resolvers/group.ex:203
msgid "Current profile is not a member of this group"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:205
#: lib/graphql/resolvers/group.ex:207
msgid "Current profile is not an administrator of the selected group"
msgstr ""
@ -112,8 +112,8 @@ msgid "Error while saving user settings"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:198 lib/graphql/resolvers/group.ex:246
#: lib/graphql/resolvers/group.ex:281 lib/graphql/resolvers/member.ex:80
#: lib/graphql/resolvers/group.ex:200 lib/graphql/resolvers/group.ex:248
#: lib/graphql/resolvers/group.ex:283 lib/graphql/resolvers/member.ex:80
msgid "Group not found"
msgstr ""
@ -133,7 +133,7 @@ msgid "Impossible to authenticate, either your email or password are invalid."
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:278
#: lib/graphql/resolvers/group.ex:280
msgid "Member not found"
msgstr ""
@ -156,7 +156,7 @@ msgstr ""
#, elixir-format
#: lib/graphql/resolvers/comment.ex:50 lib/graphql/resolvers/comment.ex:112
#: lib/graphql/resolvers/event.ex:281 lib/graphql/resolvers/feed_token.ex:28 lib/graphql/resolvers/group.ex:243
#: lib/graphql/resolvers/event.ex:286 lib/graphql/resolvers/feed_token.ex:28 lib/graphql/resolvers/group.ex:245
#: lib/graphql/resolvers/member.ex:77 lib/graphql/resolvers/participant.ex:29
#: lib/graphql/resolvers/participant.ex:163 lib/graphql/resolvers/participant.ex:192 lib/graphql/resolvers/person.ex:157
#: lib/graphql/resolvers/person.ex:191 lib/graphql/resolvers/person.ex:256 lib/graphql/resolvers/person.ex:288
@ -227,17 +227,17 @@ msgid "User requested is not logged-in"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:252
#: lib/graphql/resolvers/group.ex:254
msgid "You are already a member of this group"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:285
#: lib/graphql/resolvers/group.ex:287
msgid "You can't leave this group because you are the only administrator"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:249
#: lib/graphql/resolvers/group.ex:251
msgid "You cannot join this group"
msgstr ""
@ -257,7 +257,7 @@ msgid "You need to be logged-in to change your password"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:210
#: lib/graphql/resolvers/group.ex:212
msgid "You need to be logged-in to delete a group"
msgstr ""
@ -267,17 +267,17 @@ msgid "You need to be logged-in to delete your account"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:257
#: lib/graphql/resolvers/group.ex:259
msgid "You need to be logged-in to join a group"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:290
#: lib/graphql/resolvers/group.ex:292
msgid "You need to be logged-in to leave a group"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:175
#: lib/graphql/resolvers/group.ex:177
msgid "You need to be logged-in to update a group"
msgstr ""
@ -382,8 +382,8 @@ msgid "Event id not found"
msgstr ""
#, elixir-format
#: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:236
#: lib/graphql/resolvers/event.ex:278
#: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:238
#: lib/graphql/resolvers/event.ex:283
msgid "Event not found"
msgstr ""
@ -535,11 +535,6 @@ msgstr ""
msgid "Token is not a valid UUID"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/event.ex:239
msgid "User doesn't own profile"
msgstr ""
#, elixir-format
#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:323
msgid "User not found"
@ -612,7 +607,7 @@ msgid "You cannot delete this comment"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/event.ex:274
#: lib/graphql/resolvers/event.ex:279
msgid "You cannot delete this event"
msgstr ""
@ -692,7 +687,7 @@ msgid "You need to be logged-in to create resources"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/event.ex:286
#: lib/graphql/resolvers/event.ex:291
msgid "You need to be logged-in to delete an event"
msgstr ""
@ -717,7 +712,7 @@ msgid "You need to be logged-in to leave an event"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/event.ex:247
#: lib/graphql/resolvers/event.ex:252
msgid "You need to be logged-in to update an event"
msgstr ""
@ -737,7 +732,7 @@ msgid "You need to be logged-in to view a resource preview"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/picture.ex:83
#: lib/graphql/resolvers/picture.ex:86
msgid "You need to login to upload a picture"
msgstr ""
@ -830,3 +825,23 @@ msgstr ""
#: lib/graphql/resolvers/member.ex:129
msgid "You can't reject this invitation with this profile."
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/picture.ex:78
msgid "File doesn't have an allowed MIME type."
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:172
msgid "Profile is not administrator for the group"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/event.ex:241
msgid "You can't edit this event."
msgstr ""
#, elixir-format, fuzzy
#: lib/graphql/resolvers/event.ex:244
msgid "You can't attribute this event to this profile."
msgstr ""

View File

@ -98,17 +98,17 @@ msgid "Cannot refresh the token"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:139 lib/graphql/resolvers/group.ex:170
#: lib/graphql/resolvers/group.ex:139
msgid "Creator profile is not owned by the current user"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:201
#: lib/graphql/resolvers/group.ex:203
msgid "Current profile is not a member of this group"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:205
#: lib/graphql/resolvers/group.ex:207
msgid "Current profile is not an administrator of the selected group"
msgstr ""
@ -118,8 +118,8 @@ msgid "Error while saving user settings"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:198 lib/graphql/resolvers/group.ex:246
#: lib/graphql/resolvers/group.ex:281 lib/graphql/resolvers/member.ex:80
#: lib/graphql/resolvers/group.ex:200 lib/graphql/resolvers/group.ex:248
#: lib/graphql/resolvers/group.ex:283 lib/graphql/resolvers/member.ex:80
msgid "Group not found"
msgstr ""
@ -139,7 +139,7 @@ msgid "Impossible to authenticate, either your email or password are invalid."
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:278
#: lib/graphql/resolvers/group.ex:280
msgid "Member not found"
msgstr ""
@ -162,7 +162,7 @@ msgstr ""
#, elixir-format
#: lib/graphql/resolvers/comment.ex:50 lib/graphql/resolvers/comment.ex:112
#: lib/graphql/resolvers/event.ex:281 lib/graphql/resolvers/feed_token.ex:28 lib/graphql/resolvers/group.ex:243
#: lib/graphql/resolvers/event.ex:286 lib/graphql/resolvers/feed_token.ex:28 lib/graphql/resolvers/group.ex:245
#: lib/graphql/resolvers/member.ex:77 lib/graphql/resolvers/participant.ex:29
#: lib/graphql/resolvers/participant.ex:163 lib/graphql/resolvers/participant.ex:192 lib/graphql/resolvers/person.ex:157
#: lib/graphql/resolvers/person.ex:191 lib/graphql/resolvers/person.ex:256 lib/graphql/resolvers/person.ex:288
@ -233,17 +233,17 @@ msgid "User requested is not logged-in"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:252
#: lib/graphql/resolvers/group.ex:254
msgid "You are already a member of this group"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:285
#: lib/graphql/resolvers/group.ex:287
msgid "You can't leave this group because you are the only administrator"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:249
#: lib/graphql/resolvers/group.ex:251
msgid "You cannot join this group"
msgstr ""
@ -263,7 +263,7 @@ msgid "You need to be logged-in to change your password"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:210
#: lib/graphql/resolvers/group.ex:212
msgid "You need to be logged-in to delete a group"
msgstr ""
@ -273,17 +273,17 @@ msgid "You need to be logged-in to delete your account"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:257
#: lib/graphql/resolvers/group.ex:259
msgid "You need to be logged-in to join a group"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:290
#: lib/graphql/resolvers/group.ex:292
msgid "You need to be logged-in to leave a group"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:175
#: lib/graphql/resolvers/group.ex:177
msgid "You need to be logged-in to update a group"
msgstr ""
@ -388,8 +388,8 @@ msgid "Event id not found"
msgstr ""
#, elixir-format
#: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:236
#: lib/graphql/resolvers/event.ex:278
#: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:238
#: lib/graphql/resolvers/event.ex:283
msgid "Event not found"
msgstr ""
@ -541,11 +541,6 @@ msgstr ""
msgid "Token is not a valid UUID"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/event.ex:239
msgid "User doesn't own profile"
msgstr ""
#, elixir-format
#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:323
msgid "User not found"
@ -618,7 +613,7 @@ msgid "You cannot delete this comment"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/event.ex:274
#: lib/graphql/resolvers/event.ex:279
msgid "You cannot delete this event"
msgstr ""
@ -698,7 +693,7 @@ msgid "You need to be logged-in to create resources"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/event.ex:286
#: lib/graphql/resolvers/event.ex:291
msgid "You need to be logged-in to delete an event"
msgstr ""
@ -723,7 +718,7 @@ msgid "You need to be logged-in to leave an event"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/event.ex:247
#: lib/graphql/resolvers/event.ex:252
msgid "You need to be logged-in to update an event"
msgstr ""
@ -743,7 +738,7 @@ msgid "You need to be logged-in to view a resource preview"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/picture.ex:83
#: lib/graphql/resolvers/picture.ex:86
msgid "You need to login to upload a picture"
msgstr ""
@ -836,3 +831,23 @@ msgstr ""
#: lib/graphql/resolvers/member.ex:129
msgid "You can't reject this invitation with this profile."
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/picture.ex:78
msgid "File doesn't have an allowed MIME type."
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:172
msgid "Profile is not administrator for the group"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/event.ex:241
msgid "You can't edit this event."
msgstr ""
#, elixir-format, fuzzy
#: lib/graphql/resolvers/event.ex:244
msgid "You can't attribute this event to this profile."
msgstr ""

View File

@ -92,17 +92,17 @@ msgid "Cannot refresh the token"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:139 lib/graphql/resolvers/group.ex:170
#: lib/graphql/resolvers/group.ex:139
msgid "Creator profile is not owned by the current user"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:201
#: lib/graphql/resolvers/group.ex:203
msgid "Current profile is not a member of this group"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:205
#: lib/graphql/resolvers/group.ex:207
msgid "Current profile is not an administrator of the selected group"
msgstr ""
@ -112,8 +112,8 @@ msgid "Error while saving user settings"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:198 lib/graphql/resolvers/group.ex:246
#: lib/graphql/resolvers/group.ex:281 lib/graphql/resolvers/member.ex:80
#: lib/graphql/resolvers/group.ex:200 lib/graphql/resolvers/group.ex:248
#: lib/graphql/resolvers/group.ex:283 lib/graphql/resolvers/member.ex:80
msgid "Group not found"
msgstr ""
@ -133,7 +133,7 @@ msgid "Impossible to authenticate, either your email or password are invalid."
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:278
#: lib/graphql/resolvers/group.ex:280
msgid "Member not found"
msgstr ""
@ -156,7 +156,7 @@ msgstr ""
#, elixir-format
#: lib/graphql/resolvers/comment.ex:50 lib/graphql/resolvers/comment.ex:112
#: lib/graphql/resolvers/event.ex:281 lib/graphql/resolvers/feed_token.ex:28 lib/graphql/resolvers/group.ex:243
#: lib/graphql/resolvers/event.ex:286 lib/graphql/resolvers/feed_token.ex:28 lib/graphql/resolvers/group.ex:245
#: lib/graphql/resolvers/member.ex:77 lib/graphql/resolvers/participant.ex:29
#: lib/graphql/resolvers/participant.ex:163 lib/graphql/resolvers/participant.ex:192 lib/graphql/resolvers/person.ex:157
#: lib/graphql/resolvers/person.ex:191 lib/graphql/resolvers/person.ex:256 lib/graphql/resolvers/person.ex:288
@ -227,17 +227,17 @@ msgid "User requested is not logged-in"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:252
#: lib/graphql/resolvers/group.ex:254
msgid "You are already a member of this group"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:285
#: lib/graphql/resolvers/group.ex:287
msgid "You can't leave this group because you are the only administrator"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:249
#: lib/graphql/resolvers/group.ex:251
msgid "You cannot join this group"
msgstr ""
@ -257,7 +257,7 @@ msgid "You need to be logged-in to change your password"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:210
#: lib/graphql/resolvers/group.ex:212
msgid "You need to be logged-in to delete a group"
msgstr ""
@ -267,17 +267,17 @@ msgid "You need to be logged-in to delete your account"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:257
#: lib/graphql/resolvers/group.ex:259
msgid "You need to be logged-in to join a group"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:290
#: lib/graphql/resolvers/group.ex:292
msgid "You need to be logged-in to leave a group"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:175
#: lib/graphql/resolvers/group.ex:177
msgid "You need to be logged-in to update a group"
msgstr ""
@ -382,8 +382,8 @@ msgid "Event id not found"
msgstr ""
#, elixir-format
#: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:236
#: lib/graphql/resolvers/event.ex:278
#: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:238
#: lib/graphql/resolvers/event.ex:283
msgid "Event not found"
msgstr ""
@ -535,11 +535,6 @@ msgstr ""
msgid "Token is not a valid UUID"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/event.ex:239
msgid "User doesn't own profile"
msgstr ""
#, elixir-format
#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:323
msgid "User not found"
@ -612,7 +607,7 @@ msgid "You cannot delete this comment"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/event.ex:274
#: lib/graphql/resolvers/event.ex:279
msgid "You cannot delete this event"
msgstr ""
@ -692,7 +687,7 @@ msgid "You need to be logged-in to create resources"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/event.ex:286
#: lib/graphql/resolvers/event.ex:291
msgid "You need to be logged-in to delete an event"
msgstr ""
@ -717,7 +712,7 @@ msgid "You need to be logged-in to leave an event"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/event.ex:247
#: lib/graphql/resolvers/event.ex:252
msgid "You need to be logged-in to update an event"
msgstr ""
@ -737,7 +732,7 @@ msgid "You need to be logged-in to view a resource preview"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/picture.ex:83
#: lib/graphql/resolvers/picture.ex:86
msgid "You need to login to upload a picture"
msgstr ""
@ -830,3 +825,23 @@ msgstr ""
#: lib/graphql/resolvers/member.ex:129
msgid "You can't reject this invitation with this profile."
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/picture.ex:78
msgid "File doesn't have an allowed MIME type."
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:172
msgid "Profile is not administrator for the group"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/event.ex:241
msgid "You can't edit this event."
msgstr ""
#, elixir-format, fuzzy
#: lib/graphql/resolvers/event.ex:244
msgid "You can't attribute this event to this profile."
msgstr ""

View File

@ -102,17 +102,17 @@ msgid "Cannot refresh the token"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:139 lib/graphql/resolvers/group.ex:170
#: lib/graphql/resolvers/group.ex:139
msgid "Creator profile is not owned by the current user"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:201
#: lib/graphql/resolvers/group.ex:203
msgid "Current profile is not a member of this group"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:205
#: lib/graphql/resolvers/group.ex:207
msgid "Current profile is not an administrator of the selected group"
msgstr ""
@ -122,8 +122,8 @@ msgid "Error while saving user settings"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:198 lib/graphql/resolvers/group.ex:246
#: lib/graphql/resolvers/group.ex:281 lib/graphql/resolvers/member.ex:80
#: lib/graphql/resolvers/group.ex:200 lib/graphql/resolvers/group.ex:248
#: lib/graphql/resolvers/group.ex:283 lib/graphql/resolvers/member.ex:80
msgid "Group not found"
msgstr ""
@ -143,7 +143,7 @@ msgid "Impossible to authenticate, either your email or password are invalid."
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:278
#: lib/graphql/resolvers/group.ex:280
msgid "Member not found"
msgstr ""
@ -166,7 +166,7 @@ msgstr ""
#, elixir-format
#: lib/graphql/resolvers/comment.ex:50 lib/graphql/resolvers/comment.ex:112
#: lib/graphql/resolvers/event.ex:281 lib/graphql/resolvers/feed_token.ex:28 lib/graphql/resolvers/group.ex:243
#: lib/graphql/resolvers/event.ex:286 lib/graphql/resolvers/feed_token.ex:28 lib/graphql/resolvers/group.ex:245
#: lib/graphql/resolvers/member.ex:77 lib/graphql/resolvers/participant.ex:29
#: lib/graphql/resolvers/participant.ex:163 lib/graphql/resolvers/participant.ex:192 lib/graphql/resolvers/person.ex:157
#: lib/graphql/resolvers/person.ex:191 lib/graphql/resolvers/person.ex:256 lib/graphql/resolvers/person.ex:288
@ -237,17 +237,17 @@ msgid "User requested is not logged-in"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:252
#: lib/graphql/resolvers/group.ex:254
msgid "You are already a member of this group"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:285
#: lib/graphql/resolvers/group.ex:287
msgid "You can't leave this group because you are the only administrator"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:249
#: lib/graphql/resolvers/group.ex:251
msgid "You cannot join this group"
msgstr ""
@ -267,7 +267,7 @@ msgid "You need to be logged-in to change your password"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:210
#: lib/graphql/resolvers/group.ex:212
msgid "You need to be logged-in to delete a group"
msgstr ""
@ -277,17 +277,17 @@ msgid "You need to be logged-in to delete your account"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:257
#: lib/graphql/resolvers/group.ex:259
msgid "You need to be logged-in to join a group"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:290
#: lib/graphql/resolvers/group.ex:292
msgid "You need to be logged-in to leave a group"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:175
#: lib/graphql/resolvers/group.ex:177
msgid "You need to be logged-in to update a group"
msgstr ""
@ -392,8 +392,8 @@ msgid "Event id not found"
msgstr ""
#, elixir-format
#: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:236
#: lib/graphql/resolvers/event.ex:278
#: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:238
#: lib/graphql/resolvers/event.ex:283
msgid "Event not found"
msgstr ""
@ -545,11 +545,6 @@ msgstr ""
msgid "Token is not a valid UUID"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/event.ex:239
msgid "User doesn't own profile"
msgstr ""
#, elixir-format
#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:323
msgid "User not found"
@ -622,7 +617,7 @@ msgid "You cannot delete this comment"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/event.ex:274
#: lib/graphql/resolvers/event.ex:279
msgid "You cannot delete this event"
msgstr ""
@ -702,7 +697,7 @@ msgid "You need to be logged-in to create resources"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/event.ex:286
#: lib/graphql/resolvers/event.ex:291
msgid "You need to be logged-in to delete an event"
msgstr ""
@ -727,7 +722,7 @@ msgid "You need to be logged-in to leave an event"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/event.ex:247
#: lib/graphql/resolvers/event.ex:252
msgid "You need to be logged-in to update an event"
msgstr ""
@ -747,7 +742,7 @@ msgid "You need to be logged-in to view a resource preview"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/picture.ex:83
#: lib/graphql/resolvers/picture.ex:86
msgid "You need to login to upload a picture"
msgstr ""
@ -840,3 +835,23 @@ msgstr ""
#: lib/graphql/resolvers/member.ex:129
msgid "You can't reject this invitation with this profile."
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/picture.ex:78
msgid "File doesn't have an allowed MIME type."
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:172
msgid "Profile is not administrator for the group"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/event.ex:241
msgid "You can't edit this event."
msgstr ""
#, elixir-format, fuzzy
#: lib/graphql/resolvers/event.ex:244
msgid "You can't attribute this event to this profile."
msgstr ""

View File

@ -99,17 +99,17 @@ msgid "Cannot refresh the token"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:139 lib/graphql/resolvers/group.ex:170
#: lib/graphql/resolvers/group.ex:139
msgid "Creator profile is not owned by the current user"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:201
#: lib/graphql/resolvers/group.ex:203
msgid "Current profile is not a member of this group"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:205
#: lib/graphql/resolvers/group.ex:207
msgid "Current profile is not an administrator of the selected group"
msgstr ""
@ -119,8 +119,8 @@ msgid "Error while saving user settings"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:198 lib/graphql/resolvers/group.ex:246
#: lib/graphql/resolvers/group.ex:281 lib/graphql/resolvers/member.ex:80
#: lib/graphql/resolvers/group.ex:200 lib/graphql/resolvers/group.ex:248
#: lib/graphql/resolvers/group.ex:283 lib/graphql/resolvers/member.ex:80
msgid "Group not found"
msgstr ""
@ -140,7 +140,7 @@ msgid "Impossible to authenticate, either your email or password are invalid."
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:278
#: lib/graphql/resolvers/group.ex:280
msgid "Member not found"
msgstr ""
@ -163,7 +163,7 @@ msgstr ""
#, elixir-format
#: lib/graphql/resolvers/comment.ex:50 lib/graphql/resolvers/comment.ex:112
#: lib/graphql/resolvers/event.ex:281 lib/graphql/resolvers/feed_token.ex:28 lib/graphql/resolvers/group.ex:243
#: lib/graphql/resolvers/event.ex:286 lib/graphql/resolvers/feed_token.ex:28 lib/graphql/resolvers/group.ex:245
#: lib/graphql/resolvers/member.ex:77 lib/graphql/resolvers/participant.ex:29
#: lib/graphql/resolvers/participant.ex:163 lib/graphql/resolvers/participant.ex:192 lib/graphql/resolvers/person.ex:157
#: lib/graphql/resolvers/person.ex:191 lib/graphql/resolvers/person.ex:256 lib/graphql/resolvers/person.ex:288
@ -234,17 +234,17 @@ msgid "User requested is not logged-in"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:252
#: lib/graphql/resolvers/group.ex:254
msgid "You are already a member of this group"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:285
#: lib/graphql/resolvers/group.ex:287
msgid "You can't leave this group because you are the only administrator"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:249
#: lib/graphql/resolvers/group.ex:251
msgid "You cannot join this group"
msgstr ""
@ -264,7 +264,7 @@ msgid "You need to be logged-in to change your password"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:210
#: lib/graphql/resolvers/group.ex:212
msgid "You need to be logged-in to delete a group"
msgstr ""
@ -274,17 +274,17 @@ msgid "You need to be logged-in to delete your account"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:257
#: lib/graphql/resolvers/group.ex:259
msgid "You need to be logged-in to join a group"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:290
#: lib/graphql/resolvers/group.ex:292
msgid "You need to be logged-in to leave a group"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:175
#: lib/graphql/resolvers/group.ex:177
msgid "You need to be logged-in to update a group"
msgstr ""
@ -389,8 +389,8 @@ msgid "Event id not found"
msgstr ""
#, elixir-format
#: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:236
#: lib/graphql/resolvers/event.ex:278
#: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:238
#: lib/graphql/resolvers/event.ex:283
msgid "Event not found"
msgstr ""
@ -542,11 +542,6 @@ msgstr ""
msgid "Token is not a valid UUID"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/event.ex:239
msgid "User doesn't own profile"