Agreement
Todo
Docstrings (module, models, utilities)
Models
- class indico.modules.events.agreements.models.agreements.Agreement(**kwargs)
Agreements between a person and Indico.
A simple constructor that allows initialization from kwargs.
Sets attributes on the constructed instance using the names and values in
kwargs
.Only keys that are present as attributes of the instance’s class are allowed. These could be, for example, any mapped columns or relationships.
- accept(from_ip, reason=None, on_behalf=False)
- accepted
- attachment
Attachment
- attachment_filename
Filename and extension of the attachment
- belongs_to(person)
- static create_from_data(event, type_, person)
- data
Definition-specific data of the agreement
- property definition
- event
The Event this agreement is associated with
- event_id
ID of the event
- id
Entry ID
- identifier
Unique identifier within the event and type
- is_orphan()
- property locator
- pending
- person_email
Email of the person agreeing
- person_name
Full name of the person agreeing
- query: IndicoBaseQuery
A SQLAlchemy query for a model. Equivalent to
db.session.query(Model)
. Can be customized per-model by overridingquery_class
.Warning
The query interface is considered legacy in SQLAlchemy. Prefer using
session.execute(select())
instead.
- reason
Explanation as to why the agreement was accepted/rejected
- reject(from_ip, reason=None, on_behalf=False)
- rejected
- render(form, **kwargs)
- reset()
- signed_dt
The date and time the agreement was signed
- signed_from_ip
The IP from which the agreement was signed
- signed_on_behalf
- state
- timestamp
The date and time the agreement was created
- type
Type of agreement
- user
The user this agreement is linked to
- user_id
ID of a linked user
- uuid
Entry universally unique ID
- class indico.modules.events.agreements.models.agreements.AgreementState(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)
- accepted = 1
- accepted_on_behalf = 3
agreement accepted on behalf of the person
- pending = 0
- rejected = 2
- rejected_on_behalf = 4
agreement rejected on behalf of the person
Utilities
- indico.modules.events.agreements.util.get_agreement_definitions()
- indico.modules.events.agreements.util.send_new_agreements(event, name, people, email_body, cc_addresses, sender_address)
Create and send agreements for a list of people on a given event.
- Parameters:
event – The Event associated with the agreement
name – The agreement type matcing a
AgreementDefinition
namepeople – The list of people for whom agreements will be created
email_body – The body of the email
cc_addresses – Email addresses to send CCs to
sender_address – Email address of the sender
Placeholders
- class indico.modules.events.agreements.placeholders.AgreementLinkPlaceholder
- description = l'Link to the agreement page'
A short description of the placeholder.
- name = 'agreement_link'
The name of the placeholder. Must be unique within the context where the placeholder is used
- classmethod render(definition, agreement)
Convert the placeholder to a string.
When a placeholder contains HTML that should not be escaped, the returned value should be returned as a
markupsafe.Markup
instance instead of a plain string.Subclasses are encouraged to explicitly specify the arguments they expect instead of using
**kwargs
.- Parameters:
kwargs – arguments specific to the placeholder’s context
- required = True
Whether the placeholder must be used at least once.
- class indico.modules.events.agreements.placeholders.PersonNamePlaceholder
- description = l'Name of the person'
A short description of the placeholder.
- name = 'person_name'
The name of the placeholder. Must be unique within the context where the placeholder is used
- classmethod render(definition, agreement)
Convert the placeholder to a string.
When a placeholder contains HTML that should not be escaped, the returned value should be returned as a
markupsafe.Markup
instance instead of a plain string.Subclasses are encouraged to explicitly specify the arguments they expect instead of using
**kwargs
.- Parameters:
kwargs – arguments specific to the placeholder’s context