Add some user documentation

This commit is contained in:
Raphael Michel
2017-07-31 18:31:20 +02:00
parent 86f17094bb
commit e16f8fc7e9
16 changed files with 132 additions and 6 deletions

View File

@@ -6063,3 +6063,7 @@ url('../opensans_regular_macroman/OpenSans-Regular-webfont.svg#open_sansregular'
white-space: normal; white-space: normal;
} }
} }
img.screenshot, a.screenshot img {
box-shadow: 0 4px 18px 0 rgba(0,0,0,0.1), 0 6px 20px 0 rgba(0,0,0,0.09);
}

View File

@@ -4,6 +4,8 @@ Basic concepts
This page describes basic concepts and definition that you need to know to interact This page describes basic concepts and definition that you need to know to interact
with pretix' REST API, such as authentication, pagination and similar definitions. with pretix' REST API, such as authentication, pagination and similar definitions.
.. _`rest-auth`:
Obtaining an API token Obtaining an API token
---------------------- ----------------------
@@ -13,12 +15,14 @@ or choose an existing team that has the level of permissions the token should ha
create a new token using the form below the list of team members: create a new token using the form below the list of team members:
.. image:: img/token_form.png .. image:: img/token_form.png
:class: screenshot
You can enter a description for the token to distinguish from other tokens later on. You can enter a description for the token to distinguish from other tokens later on.
Once you click "Add", you will be provided with an API token in the success message. Once you click "Add", you will be provided with an API token in the success message.
Copy this token, as you won't be able to retrieve it again. Copy this token, as you won't be able to retrieve it again.
.. image:: img/token_success.png .. image:: img/token_success.png
:class: screenshot
Authentication Authentication
-------------- --------------

View File

@@ -13,6 +13,10 @@
# All configuration values have a default; values that are commented out # All configuration values have a default; values that are commented out
# serve to show the default. # serve to show the default.
from docutils.parsers.rst.directives.admonitions import BaseAdmonition
from sphinx.util import compat
compat.make_admonition = BaseAdmonition # See https://github.com/spinus/sphinxcontrib-images/issues/41
import sys import sys
import os import os
@@ -41,6 +45,7 @@ extensions = [
'sphinx.ext.todo', 'sphinx.ext.todo',
'sphinx.ext.coverage', 'sphinx.ext.coverage',
'sphinxcontrib.httpdomain', 'sphinxcontrib.httpdomain',
'sphinxcontrib.images',
] ]
# Add any paths that contain templates here, relative to this directory. # Add any paths that contain templates here, relative to this directory.
@@ -281,3 +286,8 @@ texinfo_documents = [
# If true, do not generate a @detailmenu in the "Top" node's menu. # If true, do not generate a @detailmenu in the "Top" node's menu.
#texinfo_no_detailmenu = False #texinfo_no_detailmenu = False
images_config = {
'default_image_width': '250px'
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

View File

@@ -1,7 +1,11 @@
User Guide User Guide
========== ==========
This section of our documentation is dedicated to show you the way around pretix if you are an event organizer
wanting to use pretix to sell tickets.
.. toctree:: .. toctree::
:maxdepth: 2 :maxdepth: 2
organizers/index
payments/index payments/index

View File

@@ -0,0 +1,92 @@
Organizer accounts and teams
============================
Organizer account
-----------------
The basis of all your operations within pretix is your organizer account. It represents an entity that is running
events, for example a company, yourself or any other institution.
Every event belongs to one organizer account and events within the same organizer account are assumed to belong together
in some sense, whereas events in different organizer accounts are completely isolated.
If you want to use the hosted pretix service, you can create an organizer account on our `Get started`_ page. Otherwise,
ask your pretix administrator for access to an organizer account.
You can find out all organizer accounts you have access to by going to your global dashboard (click on the pretix logo
in the top-left corner) and then select "Organizers" from the navigation bar on the left side. Then, choose one of the
organizer accounts presented, if there are multiple of them:
.. thumbnail:: ../../screens/organizer/list.png
:align: center
:class: screenshot
This overview shows you all event that belong to the organizer and you have access to:
.. thumbnail:: ../../screens/organizer/event_list.png
:align: center
:class: screenshot
With the "Edit" button at the top, next to the organizer account name, you can modify properties of the organizer
account such as its name and display settings for the public profile page of the organizer account:
.. thumbnail:: ../../screens/organizer/edit.png
:align: center
:class: screenshot
.. tip::
The profile page will be shown as ``https://pretix.eu/slug/`` where ``slug`` is to be replaced by the short form of
the organizer name that you entered during account creation and ``pretix.eu`` is to be replaced by your
installation's domain name if you are not using our hosted service.
Instead, you can also use a custom domain for the profile page and your events, for example
``https://tickets.example.com/`` if ``example.com`` is a domain that you own. In this case, please contact the pretix
hosted support or your system administrator to set up the custom domain.
Teams
-----
We don't expect you to work on your events all by yourself and therefore, pretix comes with ways to invite your fellow
team members to access your pretix organizer account. To manage teams, click on the "Teams" link on your organizer
settings page (see above how to find it). This shows you a list of teams that should contain at least one team already:
.. thumbnail:: ../../screens/organizer/team_list.png
:align: center
:class: screenshot
If you click on a team name, you get to a page that shows you the current members of the team:
.. thumbnail:: ../../screens/organizer/team_detail.png
:align: center
:class: screenshot
You see that there is a list of pretix user accounts (i.e. email addresses), who are part of the team. To add a user to
the team, just enter their email address in the text box next to the "Add" button. If the user already has an account
in the pretix system they will instantly get access to the team. Otherwise, they will be sent an email with an invitation
link that can be used to create an account. This account will then instantly have access to the team. Users can be part
of as many teams as you want.
In the section below, you can also create access tokens for our :ref:`rest-api`. You can read more on this topic in the
section :ref:`rest-auth` of the API documentation.
Next to the team name, you again see a button called "Edit" that allows you to modify the permissions of the team.
Permissions separate into two areas:
* **Organizer permissions** allow actions on the level of an organizer account, in particular:
* Can create events To create a new event under this organizer account, users need to have this permission
* Can change teams and permissions This permission is required to perform the kind of action you are doing right now.
Anyone with this permission can assign arbitrary other permissions to themselves, so this is the most powerful
permission there is to give.
* Can change organizer settings This permission is required to perform changes to the settings of the organizer
account, e.g. its name or display settings.
* **Event permissions** allow actions on the level of an event. You can give the team access to all events
.. thumbnail:: ../../screens/organizer/team_edit.png
:align: center
:class: screenshot
.. _Get started: https://pretix.eu/about/en/setup

View File

@@ -17,6 +17,7 @@ The easiest way to import payment data is to download a CSV file from your onlin
export of some sort. You can go to "Import bank data" in pretix to upload a new file: export of some sort. You can go to "Import bank data" in pretix to upload a new file:
.. image:: img/bank1.png .. image:: img/bank1.png
:class: screenshot
If you upload a file for the first time, pretix will not know what information is contained in which column as every If you upload a file for the first time, pretix will not know what information is contained in which column as every
bank builds completely different CSV files. Therefore, pretix will ask you for that information. It will show you the bank builds completely different CSV files. Therefore, pretix will ask you for that information. It will show you the

View File

@@ -8,41 +8,49 @@ PayPal account, you can create one on `paypal.com`_.
If you look into pretix' settings, you are required to fill in two keys: If you look into pretix' settings, you are required to fill in two keys:
.. image:: img/paypal_pretix.png .. image:: img/paypal_pretix.png
:class: screenshot
Unfortunately, it is not straightforward how to get those keys from PayPal's website. In order to do so, you Unfortunately, it is not straightforward how to get those keys from PayPal's website. In order to do so, you
need to go to `developer.paypal.com`_ to link the account to your pretix event. need to go to `developer.paypal.com`_ to link the account to your pretix event.
Click on "Log In" in the top-right corner and log in with your PayPal account. Click on "Log In" in the top-right corner and log in with your PayPal account.
.. image:: img/paypal2.png .. image:: img/paypal2.png
:class: screenshot
Then, click on "Dashboard" in the top-right corner. Then, click on "Dashboard" in the top-right corner.
.. image:: img/paypal3.png .. image:: img/paypal3.png
:class: screenshot
In the dashboard, scroll down until you see the headline "REST API Apps". Click "Create App". In the dashboard, scroll down until you see the headline "REST API Apps". Click "Create App".
.. image:: img/paypal4.png .. image:: img/paypal4.png
:class: screenshot
Enter any name for the application that helps you to identify it later. Then confirm with "Create App". Enter any name for the application that helps you to identify it later. Then confirm with "Create App".
.. image:: img/paypal5.png .. image:: img/paypal5.png
:class: screenshot
On the next page, before you do anything else, switch the mode on the right to "Live" to get the correct keys. On the next page, before you do anything else, switch the mode on the right to "Live" to get the correct keys.
Then, copy the "Client ID" and the "Secret" and enter them into the appropriate fields in the payment settings in Then, copy the "Client ID" and the "Secret" and enter them into the appropriate fields in the payment settings in
pretix. pretix.
.. image:: img/paypal6.png .. image:: img/paypal6.png
:class: screenshot
Finally, we need to create a webhook. The webhook tells PayPal to notify pretix e.g. if a payment gets cancelled so Finally, we need to create a webhook. The webhook tells PayPal to notify pretix e.g. if a payment gets cancelled so
pretix can cancel the ticket as well. If you have multiple events connected to your PayPal account, you need multiple pretix can cancel the ticket as well. If you have multiple events connected to your PayPal account, you need multiple
webhooks. To create one, scroll a bit down and click "Add Webhook". webhooks. To create one, scroll a bit down and click "Add Webhook".
.. image:: img/paypal7.png .. image:: img/paypal7.png
:class: screenshot
Then, enter the webhook URL that you find on the pretix settings page. It should look similar to the one in the Then, enter the webhook URL that you find on the pretix settings page. It should look similar to the one in the
screenshot but contain your event name. Tick the box "All events" and save. screenshot but contain your event name. Tick the box "All events" and save.
.. image:: img/paypal8.png .. image:: img/paypal8.png
:class: screenshot
That's it, you are ready to go! That's it, you are ready to go!

View File

@@ -9,6 +9,7 @@ Dashboard. As you can see in the following screenshot, you will be presented wit
and one for live payments. In each set, there is a secret and a publishable keys. and one for live payments. In each set, there is a secret and a publishable keys.
.. image:: img/stripe1.png .. image:: img/stripe1.png
:class: screenshot
Choose one of the two sets and copy the two keys to the appropriate fields in pretix' settings. To perform actual Choose one of the two sets and copy the two keys to the appropriate fields in pretix' settings. To perform actual
payments, you will need to use the live keys, but you can use the test keys to test the payment flow before you go live. payments, you will need to use the live keys, but you can use the test keys to test the payment flow before you go live.
@@ -21,6 +22,7 @@ that you are currently on. Then, click "Add endpoint" and enter the URL that you
configuration in pretix' settings. configuration in pretix' settings.
.. image:: img/stripe2.png .. image:: img/stripe2.png
:class: screenshot
Again, you can choose between live mode and test mode here. Again, you can choose between live mode and test mode here.

View File

@@ -3,12 +3,12 @@
@font-face { @font-face {
font-family: 'FontAwesome'; font-family: 'FontAwesome';
src: url(static('fontawesome/fonts/fontawesome-webfont.eot?v=#{$fa-version}')); src: url(static('fontawesome/fonts/fontawesome-webfont.eot'));
src: url(static('fontawesome/fonts/fontawesome-webfont.eot?#iefix&v=#{$fa-version}')) format('embedded-opentype'), src: url(static('fontawesome/fonts/fontawesome-webfont.eot')) format('embedded-opentype'),
url(static('fontawesome/fonts/fontawesome-webfont.woff2?v=#{$fa-version}')) format('woff2'), url(static('fontawesome/fonts/fontawesome-webfont.woff2')) format('woff2'),
url(static('fontawesome/fonts/fontawesome-webfont.woff?v=#{$fa-version}')) format('woff'), url(static('fontawesome/fonts/fontawesome-webfont.woff')) format('woff'),
url(static('fontawesome/fonts/fontawesome-webfont.ttf?v=#{$fa-version}')) format('truetype'), url(static('fontawesome/fonts/fontawesome-webfont.ttf')) format('truetype'),
url(static('fontawesome/fonts/fontawesome-webfont.svg?v=#{$fa-version}#fontawesomeregular')) format('svg'); url(static('fontawesome/fonts/fontawesome-webfont.svg')) format('svg');
// src: url('fontawesome/fonts/FontAwesome.otf') format('opentype'); // used when developing fonts // src: url('fontawesome/fonts/FontAwesome.otf') format('opentype'); // used when developing fonts
font-weight: normal; font-weight: normal;
font-style: normal; font-style: normal;

View File

@@ -18,6 +18,7 @@ EMAIL_BACKEND = 'django.core.mail.outbox'
COMPRESS_ENABLED = COMPRESS_OFFLINE = False COMPRESS_ENABLED = COMPRESS_OFFLINE = False
STATICFILES_STORAGE = 'django.contrib.staticfiles.storage.StaticFilesStorage' STATICFILES_STORAGE = 'django.contrib.staticfiles.storage.StaticFilesStorage'
PRETIX_INSTANCE_NAME = 'pretix.eu'
DEBUG = True DEBUG = True
DEBUG_PROPAGATE_EXCEPTIONS = True DEBUG_PROPAGATE_EXCEPTIONS = True