A webapp/form for people to join pEp coop. Fork of Cultural Commons Collecting Society (C3S) SCE
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.
Christoph Scheid ea89ad316a remark about certificates folder 5 years ago
alembic generate membership certificates, send out mails with links 5 years ago
c3smembership Improved test. Compared reference_code should be hard-coded and not used from the object. 5 years ago
certificate remark about certificates folder 5 years ago
deform custom TextInputSliderWidget for deform 5 years ago
import import the founders 5 years ago
pdftk add sustain.c3s.cc info to AfM PDF 5 years ago
.gitignore Ignore certificate folder as its content comes from a separate and private repository. 5 years ago
CHANGES.txt first flush 6 years ago
README.Slider.rst work on style 6 years ago
README.rst Fixed setup formatting. 5 years ago
alembic.ini staffers can send out confirmation emails for signatures and payment 6 years ago
bootstrap.py first flush 6 years ago
ci.sh added tests for dashboard ordering 6 years ago
development.ini invite members to BC/GVV and help them to get a ticket from ticketing 5 years ago
i18n.sh statute confirmation, PDF update 6 years ago
production.ini export is encrypted depending on runmode 5 years ago
setup.cfg first flush 6 years ago
setup.cfg~ first flush 6 years ago
setup.py Added missing JS and CSS. Changed setup.py to restrict deform to version 2.0a2. 5 years ago
setup.py~ first flush 6 years ago


c3sMembership README
This webapp offers a form to to join *Cultural Commons Collecting Society (C3S)*
as member. A GnuPG encrypted mail with the details submitted will be sent to C3S.

When the form is submitted and the email verified,
form submission data is used to populate a pdf with form fields (using fdf
and pdftk) and the resulting PDF is ready for download.

Another special feature of this app is internationalisation (i18n), making
the form available in several languages. You can help translate this app on
transifex: https://www.transifex.com/projects/p/... tba .../

Help via screencast is available: http://translate.c3s.cc
Also see ./tx/README.rst for more help on the translation machinery.


see ci.sh (is partially out of date)

install pdftk (sudo apt-get install pdftk)

$ virtualenv env

manually apply deform/widget.py.patch to env/lib/python2.7/site-packages/deform-2.0a2-py2.7.egg/deform/widget.py

$ cp deform/slider.pt env/lib/python2.7/site-packages/deform-2.0a2-py2.7.egg/deform/templates/slider.pt

$ env/bin/python setup.py develop

run (in development mode)

$ env/bin/pserve development.ini --reload

The app will rebuild templates and reload code whenever there are changes by using --reload.

run (in production mode, daemon mode)

$ pserve production.ini start

Routes and Views for Users

The default route is *'/'* (named 'join'), presenting the join form.
From there, users can follow links to other views with relatively static

* */disclaimer*
* */faq*
* */statute*
* */manifesto*

If the form is used and submitted, after successful validation the
information entered is presented in a view under */success*, where the
user can choose to re-edit (back to the join form) or confirm the data given
and request a validation email by clicking a button.

At this point (in view */success_check_email*, the data is persisted in a DB
and the session is invalidated, i.e. the app forgets about the users connection.

The user then needs to check her email and come back using the validation link.
The validation link contains the email and a code to identify the user
in view */verify_password*,
where the user additionally has to enter her password.
(Without this password check,
anybody holding the verification link would be able to obtain the users data.)

Givern the code, email and password all match,
a view */success_pdf* presents a link to download the form.

Routes and Views for Accountants

C3S staff may login to the app at */login* to see the membership applications made
in views */dashboard*, and */detail/{memberid}* especially to get an overview
of and change the relevant status of
- signatures (have we received a valid signature/printed PDF) and
- payment for shares (have we received modey?).

Eventually, there is a */logout* view to log out of that interface.