FSFE Community Database Frontend https://my.fsfe.org
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Sebastiano Pistore d2644c18c7 update IT trans and ENG fix 4 weeks ago
doc update IT trans and ENG fix 4 weeks ago
fsfe_cd_front update IT trans and ENG fix 4 weeks ago
tests Improve campaign handling in personal settings 2 months ago
.dockerignore Get rid of .env file in standard configuration. 11 months ago
.drone.yml Update copyright year 3 months ago
.gitignore Get rid of .env file in standard configuration. 11 months ago
.isort.cfg Clean up isort config 1 year ago
Dockerfile Update copyright year 3 months ago
Dockerfile-quality Update copyright year 3 months ago
LICENSE Update copyright year 3 months ago
MANIFEST.in Be more explicit about which package to install 11 months ago
Makefile Update copyright year 3 months ago
Pipfile Update dependencies, especially py3-validate-email 3 months ago
Pipfile.lock Update dependencies, especially py3-validate-email 3 months ago
README.md update IT trans and ENG fix 4 weeks ago
babel.cfg Update to a consistent project name of fsfe-cd-front 2 years ago
docker-compose-quality.yml Update copyright year 3 months ago
docker-compose.yml Fix config. Sigh. 3 months ago
setup.py Update copyright year 3 months ago

README.md

FSFE Community Database Frontend

The web user interface for the FSFE Community Database, visible through https://my.fsfe.org/

Introduction

The FSFE Community Database is a combined tool for donation management, administration of accounts for FSFE’s services, and opt-in based distribution of information emails.

All relevant data for these purposes is stored in a PostgreSQL database on the one hand and FSFE’s LDAP server on the other hand. Access to that data is encapsulated by the FSFE Community Database Backend (fsfe-cd-back), which provides both a set of command line tools for manual administration tasks, and a protected RESTful(ish) network API to be used by other components.

The FSFE Community Database Authentication Server (fsfe-cd-auth) is an OpenID Connect Provider running on https://id.fsfe.org which authenticates a user against the LDAP server and then issues an access token which provides access to the authenticated user’s (and only the authenticated user’s) data though fsfe-cd-back’s API.

Finally, the FSFE Community Database Frontend is a web application through which the people stored in the database can manage their own data at https://my.fsfe.org. It sends users to fsfe-cd-auth to log in and then uses the user-bound access token returned from there to access the user’s data through fsfe-cd-back.

Overview

This repository contains the FSFE Community Database Frontend.

fsfe-cd-front is a web application built with Flask. It provides a number of endpoints (called “views” in Flask) of the following categories:

  1. Endpoints for interaction with the actual user: registering as a new user (register.py and donate.py), paying online (payonline.py), logging in and out (login.py), and viewing as well as updating the personal settings (settings.py).

  2. Endpoints for handling predefined commands which can be executed by simply following a prepared link (command.py).

  3. Endpoints for the automatic registration of incoming payments through PayPal or ConCardis (register_payment.py)

Translations

Translations can be found in fsfe_cd_front/translations/. Almost all strings are available in on .po file which can be edited with tools like Poedit.

In order to create a new language, just create the language’s folder and an empty file messages.po, so for instance fsfe_cd_front/translations/es/LC_MESSAGES/messages.po. Afterwards, run make msgsupdate to fill this file with all strings used in the interface.

As soon as you have finished the translation, please run make msgscompile. You can now commit the two changed files.

The language displayed on my.fsfe.org is derived from your browser’s language setting.

FAQ translations

The source strings contain newlines (\n) and empty spaces. You don’t have to add those to your translation and can ignore such errors from Poedit.

Further reading

The directory doc contains more detailed documentation.