Merge branch 'potsda.mn-3.0.4'

This commit is contained in:
778a69cd 2023-05-16 20:41:30 +02:00
commit cc89e9f98e
13 changed files with 215 additions and 157 deletions

View file

@ -5,6 +5,15 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## 3.0.4 - 2023-03-20
### Fixed
- LDAP connector with Erlang 24.3+
- Participant export configuration not being loaded
## 3.0.3 - 2022-12-22 ## 3.0.3 - 2022-12-22
### Fixed ### Fixed

View file

@ -1,4 +1,4 @@
FROM elixir:alpine FROM elixir:1.13.4-alpine
RUN apk add --no-cache inotify-tools postgresql-client yarn file make gcc libc-dev argon2 imagemagick cmake build-base libwebp-tools bash ncurses git python3 RUN apk add --no-cache inotify-tools postgresql-client yarn file make gcc libc-dev argon2 imagemagick cmake build-base libwebp-tools bash ncurses git python3

27
flake.lock Normal file
View file

@ -0,0 +1,27 @@
{
"nodes": {
"nixpkgs": {
"locked": {
"lastModified": 1684049129,
"narHash": "sha256-7WB9LpnPNAS8oI7hMoHeKLNhRX7k3CI9uWBRSfmOCCE=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "0470f36b02ef01d4f43c641bbf07020bcab71bf1",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"nixpkgs": "nixpkgs"
}
}
},
"root": "root",
"version": 7
}

27
flake.nix Normal file
View file

@ -0,0 +1,27 @@
{
description = "A very basic flake";
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
outputs = { self, nixpkgs }: {
packages.x86_64-linux.hello = nixpkgs.legacyPackages.x86_64-linux.hello;
packages.x86_64-linux.default = self.packages.x86_64-linux.hello;
devShells.x86_64-linux.default = let
pkgs = import nixpkgs { system = "x86_64-linux"; };
in pkgs.mkShell {
buildInputs = with pkgs; [
elixir
mix2nix
cmake
imagemagick
(yarn.override {
nodejs = pkgs.nodejs-16_x;
})
];
};
};
}

View file

@ -1,6 +1,6 @@
{ {
"name": "mobilizon", "name": "mobilizon",
"version": "3.0.3", "version": "3.0.4",
"private": true, "private": true,
"scripts": { "scripts": {
"dev": "vite", "dev": "vite",

View file

@ -2,20 +2,6 @@
<section class="container mx-auto pt-4 is-max-desktop max-w-2xl"> <section class="container mx-auto pt-4 is-max-desktop max-w-2xl">
<div class=""> <div class="">
<div class=""> <div class="">
<picture>
<source
:srcset="`/img/pics/error-480w.webp 1x, /img/pics/error-1024w.webp 2x`"
type="image/webp"
/>
<img
:src="`/img/pics/error-480w.webp`"
alt=""
width="2616"
height="1698"
loading="lazy"
/>
</picture>
<h1 class="text-4xl mb-3"> <h1 class="text-4xl mb-3">
{{ $t("The page you're looking for doesn't exist.") }} {{ $t("The page you're looking for doesn't exist.") }}
</h1> </h1>

View file

@ -19,6 +19,7 @@ defmodule Mobilizon.Config do
registration_email_denylist: list(String.t()), registration_email_denylist: list(String.t()),
demo: boolean(), demo: boolean(),
repository: String.t(), repository: String.t(),
version: String.t(),
email_from: String.t(), email_from: String.t(),
email_reply_to: String.t(), email_reply_to: String.t(),
federating: boolean(), federating: boolean(),
@ -102,9 +103,7 @@ defmodule Mobilizon.Config do
end end
@spec instance_version :: String.t() @spec instance_version :: String.t()
def instance_version do def instance_version, do: instance_config()[:version]
GitStatus.commit()
end
@spec instance_hostname :: String.t() @spec instance_hostname :: String.t()
def instance_hostname, do: instance_config()[:hostname] def instance_hostname, do: instance_config()[:hostname]

View file

@ -28,126 +28,82 @@ defmodule Mobilizon.Events.Categories do
defp build_in_categories do defp build_in_categories do
[ [
%{ %{
id: :arts, id: :ausflug,
label: gettext("Arts") label: gettext("Ausflug")
}, },
%{ %{
id: :book_clubs, id: :ausstellung,
label: gettext("Book clubs") label: gettext("Ausstellung")
}, },
%{ %{
id: :business, id: :demonstration,
label: gettext("Business") label: gettext("Demonstration")
}, },
%{ %{
id: :causes, id: :einweihung,
label: gettext("Causes") label: gettext("Einweihung")
}, },
%{ %{
id: :comedy, id: :filmvorfuehrung,
label: gettext("Comedy") label: gettext("Filmvorführung")
}, },
%{ %{
id: :crafts, id: :fussball,
label: gettext("Crafts") label: gettext("Fußball")
}, },
%{ %{
id: :food_drink, id: :gedenken,
label: gettext("Food & Drink") label: gettext("Gedenken")
}, },
%{ %{
id: :health, id: :infostand,
label: gettext("Health") label: gettext("Infostand")
}, },
%{ %{
id: :music, id: :kuenstlerisches,
label: gettext("Music") label: gettext("Künstlerisches")
}, },
%{ %{
id: :auto_boat_air, id: :kneipe,
label: gettext("Auto, boat and air") label: gettext("Kneipe")
}, },
%{ %{
id: :community, id: :konzert,
label: gettext("Community") label: gettext("Konzert")
}, },
%{ %{
id: :family_education, id: :kuefa,
label: gettext("Family & Education") label: gettext("Fa")
}, },
%{ %{
id: :fashion_beauty, id: :lesung,
label: gettext("Fashion & Beauty") label: gettext("Lesung")
},
%{
id: :film_media,
label: gettext("Film & Media")
},
%{
id: :games,
label: gettext("Games")
},
%{
id: :language_culture,
label: gettext("Language & Culture")
},
%{
id: :learning,
label: gettext("Learning")
},
%{
id: :lgbtq,
label: gettext("LGBTQ")
},
%{
id: :movements_politics,
label: gettext("Movements and politics")
},
%{
id: :networking,
label: gettext("Networking")
}, },
%{ %{
id: :party, id: :party,
label: gettext("Party") label: gettext("Party")
}, },
%{ %{
id: :performing_visual_arts, id: :sport,
label: gettext("Performing & Visual Arts") label: gettext("Sport")
}, },
%{ %{
id: :pets, id: :theater,
label: gettext("Pets") label: gettext("Theater")
}, },
%{ %{
id: :photography, id: :verhandlung,
label: gettext("Photography") label: gettext("Verhandlung")
}, },
%{ %{
id: :outdoors_adventure, id: :workshop,
label: gettext("Outdoors & Adventure") label: gettext("Workshop")
},
%{
id: :spirituality_religion_beliefs,
label: gettext("Spirituality, Religion & Beliefs")
},
%{
id: :science_tech,
label: gettext("Science & Tech")
},
%{
id: :sports,
label: gettext("Sports")
},
%{
id: :theatre,
label: gettext("Theatre")
}, },
# Legacy default value # Legacy default value
%{ %{
id: :meeting, id: :meeting,
label: gettext("Meeting") label: gettext("Infoveranstaltung")
} },
] ]
end end

View file

@ -1860,7 +1860,7 @@ defmodule Mobilizon.Events do
@spec filter_future_events(Ecto.Queryable.t(), boolean) :: Ecto.Query.t() @spec filter_future_events(Ecto.Queryable.t(), boolean) :: Ecto.Query.t()
defp filter_future_events(query, true) do defp filter_future_events(query, true) do
from(q in query, from(q in query,
where: q.begins_on > ^DateTime.utc_now() where: coalesce(q.ends_on, q.begins_on) > ^DateTime.utc_now()
) )
end end

View file

@ -7,4 +7,4 @@
<%= if @follower.type == :Application do %><%= gettext "Note: %{name} following you doesn't necessarily imply that you follow this instance, but you can ask to follow them too.", name: Mobilizon.Actors.Actor.display_name_and_username(@follower) %><% end %> <%= if @follower.type == :Application do %><%= gettext "Note: %{name} following you doesn't necessarily imply that you follow this instance, but you can ask to follow them too.", name: Mobilizon.Actors.Actor.display_name_and_username(@follower) %><% end %>
<%= if @follower.type == :Application do %><%= gettext "To accept this invitation, head over to the instance's admin settings." %><% else %><%= gettext "To accept this invitation, head over to the profile's admin page." %><% end %> <%= if @follower.type == :Application do %><%= gettext "To accept this invitation, head over to the instance's admin settings." %><% else %><%= gettext "To accept this invitation, head over to the profile's admin page." %><% end %>
<%= if @follower.type == :Application do %><%= "#{Mobilizon.Web.Endpoint.url()}/settings/admin/relays/followers" %><% else %><%= "#{Mobilizon.Web.Endpoint.url()}/settings/admin/profiles/#{@follower.id}" %><% end %> <%= if @follower.type == :Application do %><%= "#{Mobilizon.Web.Endpoint.url()}/settings/admin/instances/%{name}" %><% else %><%= "#{Mobilizon.Web.Endpoint.url()}/settings/admin/profiles/#{@follower.id}" %><% end %>

View file

@ -1,7 +1,7 @@
defmodule Mobilizon.Mixfile do defmodule Mobilizon.Mixfile do
use Mix.Project use Mix.Project
@version "3.0.3" @version "3.0.4"
def project do def project do
[ [

View file

@ -2311,42 +2311,7 @@ msgstr "LGBTQ"
msgid "Language & Culture" msgid "Language & Culture"
msgstr "Sprache & Kultur" msgstr "Sprache & Kultur"
#: lib/mobilizon/events/categories.ex:96 #: lib/mobilizon/events/categories.ex:100
#, elixir-autogen, elixir-format
msgid "Learning"
msgstr "Lernen"
#: lib/mobilizon/events/categories.ex:149
#, elixir-autogen, elixir-format
msgid "Meeting"
msgstr "Treffen"
#: lib/mobilizon/events/categories.ex:104
#, elixir-autogen, elixir-format
msgid "Movements and politics"
msgstr "Bewegungen und Politik"
#: lib/mobilizon/events/categories.ex:64
#, elixir-autogen, elixir-format
msgid "Music"
msgstr "Musik"
#: lib/mobilizon/events/categories.ex:108
#, elixir-autogen, elixir-format
msgid "Networking"
msgstr "Netzwerke"
#: lib/mobilizon/events/categories.ex:128
#, elixir-autogen, elixir-format
msgid "Outdoors & Adventure"
msgstr "Natur & Abenteuer"
#: lib/mobilizon/events/categories.ex:112
#, elixir-autogen, elixir-format
msgid "Party"
msgstr "Party"
#: lib/mobilizon/events/categories.ex:116
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Performing & Visual Arts" msgid "Performing & Visual Arts"
msgstr "Darstellende & bildende Kunst" msgstr "Darstellende & bildende Kunst"
@ -2371,16 +2336,63 @@ msgstr "Wissenschaft & Technologie"
msgid "Spirituality, Religion & Beliefs" msgid "Spirituality, Religion & Beliefs"
msgstr "Glauben, Religion & Spiritualität" msgstr "Glauben, Religion & Spiritualität"
#: lib/mobilizon/events/categories.ex:140 msgid "Ausflug"
#, elixir-autogen, elixir-format msgstr "Ausflug"
msgid "Sports"
msgid "Ausstellung"
msgstr "Ausstellung"
msgid "Demonstration"
msgstr "Demonstration"
msgid "Einweihung"
msgstr "Einweihung"
msgid "Filmvorführung"
msgstr "Filmvorführung"
msgid "Fußball"
msgstr "Fußball"
msgid "Gedenken"
msgstr "Gedenken"
msgid "Infostand"
msgstr "Infostand"
msgid "Infoveranstaltung"
msgstr "Infoveranstaltung"
msgid "Künstlerisches"
msgstr "Künstlerisches"
msgid "Kneipe"
msgstr "Kneipe"
msgid "Konzert"
msgstr "Konzert"
msgid "KüFa"
msgstr "KüFa"
msgid "Lesung"
msgstr "Lesung"
msgid "Party"
msgstr "Party"
msgid "Sport"
msgstr "Sport" msgstr "Sport"
#: lib/mobilizon/events/categories.ex:144 msgid "Theater"
#, elixir-autogen, elixir-format
msgid "Theatre"
msgstr "Theater" msgstr "Theater"
msgid "Verhandlung"
msgstr "Verhandlung"
msgid "Workshop"
msgstr "Workshop"
#: lib/web/templates/email/participation/event_card.text.eex:9 #: lib/web/templates/email/participation/event_card.text.eex:9
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Read more: %{url}" msgid "Read more: %{url}"

View file

@ -1964,11 +1964,6 @@ msgstr ""
#: lib/mobilizon/events/categories.ex:112 #: lib/mobilizon/events/categories.ex:112
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Party"
msgstr ""
#: lib/mobilizon/events/categories.ex:116
#, elixir-autogen, elixir-format
msgid "Performing & Visual Arts" msgid "Performing & Visual Arts"
msgstr "" msgstr ""
@ -1992,15 +1987,62 @@ msgstr ""
msgid "Spirituality, Religion & Beliefs" msgid "Spirituality, Religion & Beliefs"
msgstr "" msgstr ""
#: lib/mobilizon/events/categories.ex:140 msgid "Ausflug"
#, elixir-autogen, elixir-format msgstr "Excursion"
msgid "Sports"
msgstr ""
#: lib/mobilizon/events/categories.ex:144 msgid "Ausstellung"
#, elixir-autogen, elixir-format msgstr "Exhibition"
msgid "Theatre"
msgstr "" msgid "Demonstration"
msgstr "Demonstration"
msgid "Einweihung"
msgstr "Inauguration"
msgid "Filmvorführung"
msgstr "Film screening"
msgid "Fußball"
msgstr "Football"
msgid "Gedenken"
msgstr "Remembrance"
msgid "Infostand"
msgstr "Infostand"
msgid "Infoveranstaltung"
msgstr "Info event"
msgid "Künstlerisches"
msgstr "Art related"
msgid "Kneipe"
msgstr "Bar"
msgid "Konzert"
msgstr "Concert"
msgid "KüFa"
msgstr "Kitchen for all"
msgid "Lesung"
msgstr "Reading"
msgid "Party"
msgstr "Party"
msgid "Sport"
msgstr "Sport"
msgid "Theater"
msgstr "Theater"
msgid "Verhandlung"
msgstr "Trial"
msgid "Workshop"
msgstr "Workshop"
#: lib/web/templates/email/participation/event_card.text.eex:9 #: lib/web/templates/email/participation/event_card.text.eex:9
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy