FSFE Community Database Backend
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.
Reinhard Müller da773b2653 Fix 2 typos in welcome letter and make it fit on a page 10 months ago
bin Add a fixed text to the "reasons" report 1 year ago
fsfe_cd_back Fix 2 typos in welcome letter and make it fit on a page 10 months ago
test Swith resource server to blueprints 1 year ago
.dockerignore Change deployment to install as root and run as non-root 1 year ago
.drone.yml Create local test database for pytest 1 year ago
.env Add a logging handler to send errors by email 1 year ago
.gitignore Add code to create a small test database 1 year ago
.procmailrc Added procmailrc, not sure if it 1 year ago
Dockerfile Fix sending cront output as email 1 year ago
LICENSE Add and update license headers 1 year ago
MANIFEST.in Fix installation of templates 1 year ago
Makefile Create local test database for pytest 1 year ago
Pipfile Add python-ldap to dependencies 1 year ago
Pipfile.lock Add python-ldap to dependencies 1 year ago
README.md Remove a few now unused files 1 year ago
aqbanking.conf Add aqbanking-cli for fsfe-bankpayments 1 year ago
crontab Remove a few now unused files 1 year ago
playbook.yml Update playbook to set container hostname 1 year ago
revaliases Fix sending cront output as email 1 year ago
setup.cfg Restructure the code for clearness 1 year ago
setup.py Add and update license headers 1 year ago
ssmtp.conf Fix sending cront output as email 1 year ago

README.md

FSFE Community Database Backend

The backend for the FSFE Community Database, including a Python interface to the data, a resource server for the frontend, and some command line tools used for manual data maintenance

Command line tools

Scripts to be called manually

fsfe-info Display info about a specific person
fsfe-edit Interactively edit data of a specific person
fsfe-listpayments List payments of a specific person
fsfe-listhistory List data modification history of a specific person
fsfe-bounced Switch to secondary email address
fsfe-rm Remove a person from the db
fsfe-confirm Manually confirm a volunteer registration
fsfe-expire Manually set the status of a supporter to "expired"
fsfe-reactivate Reactivate an LDAP account
fsfe-blacklist Deactivate an LDAP account and stop all communication
fsfe-bankpayments Automatically process the GLS bank account for the past week
fsfe-payment Manually register a payment
fsfe-delpayment Delete a payment
fsfe-subscribe Mark supporter as subscribed to PayPal or ConCardis
fsfe-unsubscribe Mark supporter as not subscribed to PayPal or ConCardis
fsfe-reminder Send an extra payment reminder to a given supporter
fsfe-reminders Send payment reminders to all supporters who should get one
fsfe-merge Merge two accounts
fsfe-resend-user-confirmedResend the email sent on confirmation in case it didn't get through
fsfe-list List all FSFE community members matching a given criterium
fsfe-sendmail Send an email to all confirmed users with flexible selection possibilities
fsfe-bounced-sendmail Resend an email to those users where the primary email address bounced
fsfe-mailmerge Generate a letter to all confirmed users with flexible selection possibilities
fsfe-receipt Generate a single donation receipt and email it to the donor
fsfe-receipts Generate receipts for all donors for a whole year
update-klaproth Helper script to copy everything necessary from a local checkout to klaproth

Scripts called by a cron job

fsfe-report-weekly Send an email with weekly supporter statistics
fsfe-report-reasons Send a weekly email with all reasons people gave to become a supporter in the last week
fsfe-report-monthly Send a monthly statistics email
fsfe-report-monthly-csvSend another monthly statistics email
fsfe-welcome-supportersGenerate supporter welcome letters

Scripts triggered by incoming automation emails

_procmail.sh Shell script run by procmail on klaproth
_fsfe-handlemailPython script run by procmail on klaproth

General helper scripts used by other scripts

_tex2ps.shGenerate a Postscript file from a LaTeX source
_ps2pdf.shConcatenate multiple Postscript files into a single PDF file

Secrets

The following secrets are managed in drone:

ssh_key SSH private key to log into lund.fsfeurope.org Matching public key must be registered at lund.fsfeurope.org:/root/.ssh/authorized_keys
oidcp_password Password for basic authentication at https://id.fsfe.org Must match the secret with the same name for fsfe-cd-auth
jwt_secret Shared secret for signed JSON Web Tokens used for authentication Must match the secret with the same name for fsfe-cd-auth
postgres_password Password for the PostgreSQL database running on klaproth.fsfeurope.org Must match the password configured on the PostgreSQL server
ldap_password Password for the LDAP server running at ldap.fsfeurope.org Must match the password configured on the LDAP server
concardis_passphrase Passphrase to verify the ConCardis payment notifications Must match the SHA-OUT passphrase defined in the ConCardis backoffice portal
bank_customer Customer id to log into the banking interface with aqbanking-cli Must match the customer id assigned by the bank
bank_user User id to log into the banking interface with aqbanking-cli Must match the user id assigned by the bank