Abstract

Todo

Docstrings (module, models, operations, utilities, settings)

Models

class indico.modules.events.abstracts.models.abstracts.Abstract(**kwargs)

An abstract that can be associated to a Contribution.

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.

AUTHORS_SPEAKERS_DISPLAY_ORDER_ATTR = 'display_order_key_lastname'
accepted_contrib_type
accepted_contrib_type_id
accepted_track
accepted_track_id
call_for_proposals_attr = 'cfa'

Attribute to retrieve the object with access to the reviewing settings

can_access(user)
can_change_tracks(user, check_state=False)
can_comment(user, check_state=False)
can_convene(user)
can_edit(user)
can_judge(user, check_state=False)
can_review(user, check_state=False)
can_see_reviews(user)
can_withdraw(user, check_state=False)
property candidate_contrib_types
property candidate_tracks
create_comment_endpoint = 'abstracts.comment_abstract'
create_judgment_endpoint = 'abstracts.judge_abstract'
create_review_endpoint = 'abstracts.review_abstract'
property data_by_field
default_render_mode = 2
delete_comment_endpoint = 'abstracts.delete_abstract_comment'
duplicate_of
duplicate_of_id
edit_comment_endpoint = 'abstracts.edit_abstract_comment'
edit_review_endpoint = 'abstracts.edit_review'
property edit_track_mode
event
event_id
field_values

Data stored in abstract/contribution fields

friendly_id
get_reviewed_for_groups(user, include_reviewed=False)
get_timeline(user=None)
get_track_reviewing_state(track)
get_track_score(track)
id
is_deleted
property is_in_final_state
judge

User who judged the abstract

judge_id

ID of the user who judged the abstract

judgment_comment
judgment_dt
locator

Define a smart locator property.

This behaves pretty much like a normal read-only property and the decorated function should return a dict containing the necessary data to build a URL for the object.

This decorator should usually be applied to a method named locator as this name is required for get_locator to find it automatically when just passing the object.

If you need more than one locator, you can define it like this:

@locator_property
def locator(self):
    return {...}

@locator.other
def locator(self):
    return {...}

The other locator can then be accessed by passing obj.locator.other to the code expecting an object with a locator.

log(*args, **kwargs)

Log with prefilled metadata for the abstract.

marshmallow_aliases = {'_description': 'content'}
merged_into
merged_into_id
property modification_ended
modified_by
modified_by_id
modified_dt

Persons associated with this abstract

possible_render_modes = {RenderMode.markdown}
proposal_type = 'abstract'

A unique identifier to handle rendering differences between proposal types

property public_state
query: IndicoBaseQuery

A SQLAlchemy query for a model. Equivalent to db.session.query(Model). Can be customized per-model by overriding query_class.

Warning

The query interface is considered legacy in SQLAlchemy. Prefer using session.execute(select()) instead.

render_mode = 2
reset_state()
reviewed_for_tracks
property reviewing_state
revisions_enabled = False

Whether there is support for multiple revisions per proposal or just one

property score
state
submission_comment
submitted_contrib_type
submitted_contrib_type_id
submitted_dt
submitted_for_tracks
submitter

User who submitted the abstract

submitter_id

ID of the user who submitted the abstract

title
property track_question_scores
user_owns(user)
uuid
property verbose_title
class indico.modules.events.abstracts.models.abstracts.AbstractPublicState(value)

An enumeration.

accepted = 3
awaiting = -1
duplicate = 6
invited = 7
merged = 5
rejected = 4
under_review = -2
withdrawn = 2
class indico.modules.events.abstracts.models.abstracts.AbstractReviewingState(value)

An enumeration.

conflicting = 3
in_progress = 1
mixed = 5
negative = 4
not_started = 0
positive = 2
class indico.modules.events.abstracts.models.abstracts.AbstractState(value)

An enumeration.

accepted = 3
duplicate = 6
invited = 7
merged = 5
rejected = 4
submitted = 1
withdrawn = 2
class indico.modules.events.abstracts.models.abstracts.EditTrackMode(value)

An enumeration.

both = 1
none = 0
reviewed_for = 2
class indico.modules.events.abstracts.models.call_for_abstracts.CallForAbstracts(event)

Proxy class to facilitate access to the call for abstracts settings.

allow_attachments
allow_comments
allow_contributors_in_comments
allow_convener_judgment
allow_convener_track_change
allow_editing
property announcement
can_edit_abstracts(user)
can_submit_abstracts(user)
close()
contribution_submitters
end_dt
force_track_selection
property has_ended
property has_started
property is_open
property is_scheduled
judgment_instructions
modification_end_dt
property modification_ended
open()
property rating_range
reviewing_instructions
schedule(start_dt, end_dt, modification_end_dt)
start_dt
submission_instructions
class indico.modules.events.abstracts.models.comments.AbstractComment(**kwargs)

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.

abstract
abstract_id
can_edit(user)
can_view(user)
created_dt
id
is_deleted
locator

Define a smart locator property.

This behaves pretty much like a normal read-only property and the decorated function should return a dict containing the necessary data to build a URL for the object.

This decorator should usually be applied to a method named locator as this name is required for get_locator to find it automatically when just passing the object.

If you need more than one locator, you can define it like this:

@locator_property
def locator(self):
    return {...}

@locator.other
def locator(self):
    return {...}

The other locator can then be accessed by passing obj.locator.other to the code expecting an object with a locator.

marshmallow_aliases = {'_text': 'text'}
modified_by
modified_by_id
modified_dt
render_mode = 2
user
user_backref_name = 'abstract_comments'
user_id
user_modified_backref_name = 'modified_abstract_comments'
visibility
class indico.modules.events.abstracts.models.email_logs.AbstractEmailLogEntry(**kwargs)

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.

abstract
abstract_id
body
classmethod create_from_email(email_data, email_tpl, user=None)

Create a new log entry from the data used to send an email.

Parameters:
  • email_data – email data as returned from make_email

  • email_tpl – the abstract email template that created the email

  • user – the user who performed the action causing the notification

data
email_template
email_template_id
id
query: IndicoBaseQuery

A SQLAlchemy query for a model. Equivalent to db.session.query(Model). Can be customized per-model by overriding query_class.

Warning

The query interface is considered legacy in SQLAlchemy. Prefer using session.execute(select()) instead.

recipients
sent_dt
subject
user
user_id
class indico.modules.events.abstracts.models.email_templates.AbstractEmailTemplate(**kwargs)

An email template for abstracts notifications.

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.

body

The body of the template

event
event_id
extra_cc_emails

List of extra email addresses to be added as CC in the email

id
include_authors

Whether to include authors’ email addresses as To for emails

include_coauthors

Whether to include co-authors’ email addresses as CC for emails

include_submitter

Whether to include the submitter’s email address as To for emails

locator

Define a smart locator property.

This behaves pretty much like a normal read-only property and the decorated function should return a dict containing the necessary data to build a URL for the object.

This decorator should usually be applied to a method named locator as this name is required for get_locator to find it automatically when just passing the object.

If you need more than one locator, you can define it like this:

@locator_property
def locator(self):
    return {...}

@locator.other
def locator(self):
    return {...}

The other locator can then be accessed by passing obj.locator.other to the code expecting an object with a locator.

position

The relative position of the template in the list of templates

query: IndicoBaseQuery

A SQLAlchemy query for a model. Equivalent to db.session.query(Model). Can be customized per-model by overriding query_class.

Warning

The query interface is considered legacy in SQLAlchemy. Prefer using session.execute(select()) instead.

reply_to_address

The address to use as Reply-To in the email

rules

Conditions need to be met to send the email

stop_on_match

Whether to stop checking the rest of the conditions when a match is found

subject

The subject of the email

title
class indico.modules.events.abstracts.models.fields.AbstractFieldValue(**kwargs)

Store a field values related to abstracts.

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.

abstract_id
contribution_field
contribution_field_backref_name = 'abstract_values'

The name of the backref on the ContributionField

contribution_field_id
data
query: IndicoBaseQuery

A SQLAlchemy query for a model. Equivalent to db.session.query(Model). Can be customized per-model by overriding query_class.

Warning

The query interface is considered legacy in SQLAlchemy. Prefer using session.execute(select()) instead.

class indico.modules.events.abstracts.models.files.AbstractFile(**kwargs)

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.

abstract
abstract_id
add_file_date_column = False

Whether to track the creation time. This is required when using versioning!

content_type

The MIME type of the file.

created_dt = None
extension

The extension of the file.

filename

The name of the file.

id
property locator
md5

An MD5 hash of the file.

Automatically assigned when save() is called.

query: IndicoBaseQuery

A SQLAlchemy query for a model. Equivalent to db.session.query(Model). Can be customized per-model by overriding query_class.

Warning

The query interface is considered legacy in SQLAlchemy. Prefer using session.execute(select()) instead.

size

The size of the file (in bytes).

Automatically assigned when save() is called.

storage_backend
storage_file_id

Association between EventPerson and Abstract.

abstract_id
author_type
display_order
id
is_speaker
locator

Define a smart locator property.

This behaves pretty much like a normal read-only property and the decorated function should return a dict containing the necessary data to build a URL for the object.

This decorator should usually be applied to a method named locator as this name is required for get_locator to find it automatically when just passing the object.

If you need more than one locator, you can define it like this:

@locator_property
def locator(self):
    return {...}

@locator.other
def locator(self):
    return {...}

The other locator can then be accessed by passing obj.locator.other to the code expecting an object with a locator.

object_relationship_name = 'abstract'

The name of the relationship pointing to the object the person is linked to

person
person_id

The name of the backref on the EventPerson

The columns which should be included in the unique constraint.

query: IndicoBaseQuery

A SQLAlchemy query for a model. Equivalent to db.session.query(Model). Can be customized per-model by overriding query_class.

Warning

The query interface is considered legacy in SQLAlchemy. Prefer using session.execute(select()) instead.

class indico.modules.events.abstracts.models.review_questions.AbstractReviewQuestion(**kwargs)

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.

description
event
event_backref_name = 'abstract_review_questions'

name of backref from event to questions

event_id
property field
field_data
field_type
id
is_deleted
is_required
locator

Define a smart locator property.

This behaves pretty much like a normal read-only property and the decorated function should return a dict containing the necessary data to build a URL for the object.

This decorator should usually be applied to a method named locator as this name is required for get_locator to find it automatically when just passing the object.

If you need more than one locator, you can define it like this:

@locator_property
def locator(self):
    return {...}

@locator.other
def locator(self):
    return {...}

The other locator can then be accessed by passing obj.locator.other to the code expecting an object with a locator.

position
query: IndicoBaseQuery

A SQLAlchemy query for a model. Equivalent to db.session.query(Model). Can be customized per-model by overriding query_class.

Warning

The query interface is considered legacy in SQLAlchemy. Prefer using session.execute(select()) instead.

title
class indico.modules.events.abstracts.models.review_ratings.AbstractReviewRating(**kwargs)

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.

id
query: IndicoBaseQuery

A SQLAlchemy query for a model. Equivalent to db.session.query(Model). Can be customized per-model by overriding query_class.

Warning

The query interface is considered legacy in SQLAlchemy. Prefer using session.execute(select()) instead.

question
question_class

alias of AbstractReviewQuestion

question_id
review
review_class

alias of AbstractReview

review_id
value
class indico.modules.events.abstracts.models.reviews.AbstractAction(value)

An enumeration.

accept = 1
change_tracks = 3
mark_as_duplicate = 4
merge = 5
reject = 2
class indico.modules.events.abstracts.models.reviews.AbstractCommentVisibility(value)

Most to least restrictive visibility for abstract comments.

contributors = 4
conveners = 2
judges = 1
reviewers = 3
users = 5
class indico.modules.events.abstracts.models.reviews.AbstractReview(**kwargs)

An abstract review, emitted by a reviewer.

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.

abstract
abstract_id
can_edit(user, check_state=False)
can_view(user)
comment
created_dt
default_render_mode = 2
group_attr = 'track'

Object used to group reviews together

id
locator

Define a smart locator property.

This behaves pretty much like a normal read-only property and the decorated function should return a dict containing the necessary data to build a URL for the object.

This decorator should usually be applied to a method named locator as this name is required for get_locator to find it automatically when just passing the object.

If you need more than one locator, you can define it like this:

@locator_property
def locator(self):
    return {...}

@locator.other
def locator(self):
    return {...}

The other locator can then be accessed by passing obj.locator.other to the code expecting an object with a locator.

marshmallow_aliases = {'_comment': 'comment'}
modified_dt
possible_render_modes = {RenderMode.markdown}
proposed_action
proposed_contribution_type
proposed_contribution_type_id
proposed_tracks
render_mode = 2
revision_attr = 'abstract'

The revision object that the review refers to

property score
property scores
track
track_id
user
user_id
property visibility

Operations

indico.modules.events.abstracts.operations.add_abstract_files(abstract, files, log_action=True)
indico.modules.events.abstracts.operations.close_cfa(event)
indico.modules.events.abstracts.operations.create_abstract(event, abstract_data, custom_fields_data=None, send_notifications=False, submitter=None, is_invited=False)
indico.modules.events.abstracts.operations.create_abstract_comment(abstract, comment_data)
indico.modules.events.abstracts.operations.create_abstract_review(abstract, track, user, review_data, questions_data)
indico.modules.events.abstracts.operations.delete_abstract(abstract, delete_contrib=False)
indico.modules.events.abstracts.operations.delete_abstract_comment(comment)
indico.modules.events.abstracts.operations.delete_abstract_files(abstract, files)
indico.modules.events.abstracts.operations.judge_abstract(abstract, abstract_data, judgment, judge, contrib_session=None, merge_persons=False, send_notifications=False)
indico.modules.events.abstracts.operations.open_cfa(event)
indico.modules.events.abstracts.operations.reset_abstract_state(abstract)
indico.modules.events.abstracts.operations.schedule_cfa(event, start_dt, end_dt, modification_end_dt)
indico.modules.events.abstracts.operations.update_abstract(abstract, abstract_data, custom_fields_data=None)
indico.modules.events.abstracts.operations.update_abstract_comment(comment, comment_data)
indico.modules.events.abstracts.operations.update_abstract_review(review, review_data, questions_data)
indico.modules.events.abstracts.operations.update_reviewed_for_tracks(abstract, tracks)
indico.modules.events.abstracts.operations.withdraw_abstract(abstract)

Utilities

indico.modules.events.abstracts.util.build_default_email_template(event, tpl_type)

Build a default e-mail template based on a notification type provided by the user.

indico.modules.events.abstracts.util.can_create_invited_abstracts(event)
indico.modules.events.abstracts.util.clear_boa_cache(event)

Delete the cached book of abstract.

indico.modules.events.abstracts.util.create_boa(event)

Create the book of abstracts if necessary.

Returns:

The path to the PDF file

indico.modules.events.abstracts.util.create_boa_tex(event)

Create the book of abstracts as a LaTeX archive.

Returns:

A BytesIO containing the zip file.

indico.modules.events.abstracts.util.create_mock_abstract(event)

Create a mock abstract that can be used in previews.

Brace for geek references.

indico.modules.events.abstracts.util.filter_field_values(fields, can_manage, owns_abstract)
indico.modules.events.abstracts.util.generate_spreadsheet_from_abstracts(abstracts, static_item_ids, dynamic_items)

Generate a spreadsheet data from a given abstract list.

Parameters:
  • abstracts – The list of abstracts to include in the file

  • static_item_ids – The abstract properties to be used as columns

  • dynamic_items – Contribution fields as extra columns

indico.modules.events.abstracts.util.get_events_with_abstract_persons(user, dt=None)

Return a dict of event ids and the abstract submission related roles the user has in that event.

Parameters:
  • user – A User

  • dt – Only include events taking place on/after that date

indico.modules.events.abstracts.util.get_events_with_abstract_reviewer_convener(user, dt=None)

Return a dict of event ids and the abstract reviewing related roles the user has in that event.

Parameters:
  • user – A User

  • dt – Only include events taking place on/after that date

indico.modules.events.abstracts.util.get_track_reviewer_abstract_counts(event, user)

Get the numbers of abstracts per track for a specific user.

Note that this does not take into account if the user is a reviewer for a track; it just checks whether the user has reviewed an abstract in a track or not.

Returns:

A dict mapping tracks to dicts containing the counts.

indico.modules.events.abstracts.util.get_user_abstracts(event, user)

Get the list of abstracts where the user is a reviewer/convener.

indico.modules.events.abstracts.util.get_user_tracks(event, user)

Get the list of tracks where the user is a reviewer/convener.

indico.modules.events.abstracts.util.get_visible_reviewed_for_tracks(abstract, user)
indico.modules.events.abstracts.util.has_user_tracks(event, user)
indico.modules.events.abstracts.util.make_abstract_form(event, user, notification_option=False, management=False, invited=False)

Extend the abstract WTForm to add the extra fields.

Each extra field will use a field named custom_ID.

Parameters:
  • event – The Event for which to create the abstract form.

  • user – The user who is going to use the form.

  • notification_option – Whether to add a field to the form to disable triggering notifications for the abstract submission.

  • management – Whether the form is used in the management area

  • invited – Whether the form is used to create an invited abstract

Returns:

An AbstractForm subclass.

Placeholders

class indico.modules.events.abstracts.placeholders.AbstractIDPlaceholder
description = l'The ID of the abstract'

A short description of the placeholder.

name = 'abstract_id'

The name of the placeholder. Must be unique within the context where the placeholder is used

classmethod render(abstract)

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

class indico.modules.events.abstracts.placeholders.AbstractInvitationURLPlaceholder
description = l'The link to submit an invited abstract'

A short description of the placeholder.

name = 'invitation_url'

The name of the placeholder. Must be unique within the context where the placeholder is used

classmethod render(abstract)

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

class indico.modules.events.abstracts.placeholders.AbstractSessionPlaceholder
description = l'The name of the destination session'

A short description of the placeholder.

name = 'abstract_session'

The name of the placeholder. Must be unique within the context where the placeholder is used

classmethod render(abstract)

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

class indico.modules.events.abstracts.placeholders.AbstractTitlePlaceholder
description = l'The title of the abstract'

A short description of the placeholder.

name = 'abstract_title'

The name of the placeholder. Must be unique within the context where the placeholder is used

classmethod render(abstract)

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

class indico.modules.events.abstracts.placeholders.AbstractTrackPlaceholder
description = l'The name of the destination track'

A short description of the placeholder.

name = 'abstract_track'

The name of the placeholder. Must be unique within the context where the placeholder is used

classmethod render(abstract)

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

class indico.modules.events.abstracts.placeholders.AbstractURLPlaceholder
advanced = True

Whether the placeholder should not be shown by default

description = l'The direct URL of the abstract'

A short description of the placeholder.

name = 'abstract_url'

The name of the placeholder. Must be unique within the context where the placeholder is used

classmethod render(abstract)

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

class indico.modules.events.abstracts.placeholders.CoAuthorsPlaceholder
description = l'The names of the co-authors (separated by commas)'

A short description of the placeholder.

name = 'co_authors'

The name of the placeholder. Must be unique within the context where the placeholder is used

classmethod render(abstract)

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

class indico.modules.events.abstracts.placeholders.ContributionTypePlaceholder
description = l'The contribution type that is associated to the abstract'

A short description of the placeholder.

name = 'contribution_type'

The name of the placeholder. Must be unique within the context where the placeholder is used

classmethod render(abstract)

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

class indico.modules.events.abstracts.placeholders.ContributionURLPlaceholder
advanced = True

Whether the placeholder should not be shown by default

description = l'Contribution URL'

A short description of the placeholder.

name = 'contribution_url'

The name of the placeholder. Must be unique within the context where the placeholder is used

classmethod render(abstract)

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

class indico.modules.events.abstracts.placeholders.EventTitlePlaceholder
description = l'The title of the event'

A short description of the placeholder.

name = 'event_title'

The name of the placeholder. Must be unique within the context where the placeholder is used

classmethod render(abstract)

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

class indico.modules.events.abstracts.placeholders.EventURLPlaceholder
description = l'The URL of the event'

A short description of the placeholder.

name = 'event_url'

The name of the placeholder. Must be unique within the context where the placeholder is used

classmethod render(abstract)

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

class indico.modules.events.abstracts.placeholders.JudgmentCommentPlaceholder
description = l'Comments written by event organizer (upon final decision)'

A short description of the placeholder.

name = 'judgment_comment'

The name of the placeholder. Must be unique within the context where the placeholder is used

classmethod render(abstract)

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

class indico.modules.events.abstracts.placeholders.PrimaryAuthorsPlaceholder
description = l'The names of the primary authors (separated by commas)'

A short description of the placeholder.

name = 'primary_authors'

The name of the placeholder. Must be unique within the context where the placeholder is used

classmethod render(abstract)

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

class indico.modules.events.abstracts.placeholders.SubmitterFirstNamePlaceholder
advanced = True

Whether the placeholder should not be shown by default

description = l'The first name of the submitter'

A short description of the placeholder.

name = 'submitter_first_name'

The name of the placeholder. Must be unique within the context where the placeholder is used

classmethod render(abstract)

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

class indico.modules.events.abstracts.placeholders.SubmitterLastNamePlaceholder
advanced = True

Whether the placeholder should not be shown by default

description = l'The last name of the submitter'

A short description of the placeholder.

name = 'submitter_last_name'

The name of the placeholder. Must be unique within the context where the placeholder is used

classmethod render(abstract)

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

class indico.modules.events.abstracts.placeholders.SubmitterNamePlaceholder
description = l'The full name of the submitter, no title'

A short description of the placeholder.

name = 'submitter_name'

The name of the placeholder. Must be unique within the context where the placeholder is used

classmethod render(abstract)

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

class indico.modules.events.abstracts.placeholders.SubmitterTitlePlaceholder
description = l'The title of the submitter (Dr, Prof., etc...)'

A short description of the placeholder.

name = 'submitter_title'

The name of the placeholder. Must be unique within the context where the placeholder is used

classmethod render(abstract)

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

class indico.modules.events.abstracts.placeholders.TargetAbstractIDPlaceholder
description = l'The ID of the target abstract (merge or duplicate)'

A short description of the placeholder.

name = 'target_abstract_id'

The name of the placeholder. Must be unique within the context where the placeholder is used

classmethod render(abstract)

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

class indico.modules.events.abstracts.placeholders.TargetAbstractTitlePlaceholder
description = l'The title of the target abstract (merge or duplicate)'

A short description of the placeholder.

name = 'target_abstract_title'

The name of the placeholder. Must be unique within the context where the placeholder is used

classmethod render(abstract)

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

class indico.modules.events.abstracts.placeholders.TargetSubmitterFirstNamePlaceholder
advanced = True

Whether the placeholder should not be shown by default

description = l"The first name of the target abstract's submitter (merge or duplicate)"

A short description of the placeholder.

name = 'target_submitter_first_name'

The name of the placeholder. Must be unique within the context where the placeholder is used

classmethod render(abstract)

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

class indico.modules.events.abstracts.placeholders.TargetSubmitterLastNamePlaceholder
advanced = True

Whether the placeholder should not be shown by default

description = l"The last name of the target abstract's submitter (merge or duplicate)"

A short description of the placeholder.

name = 'target_submitter_last_name'

The name of the placeholder. Must be unique within the context where the placeholder is used

classmethod render(abstract)

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

class indico.modules.events.abstracts.placeholders.TargetSubmitterNamePlaceholder
advanced = True

Whether the placeholder should not be shown by default

description = l"The full name of the target abstract's submitter, no title (merge or duplicate)"

A short description of the placeholder.

name = 'target_submitter_name'

The name of the placeholder. Must be unique within the context where the placeholder is used

classmethod render(abstract)

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

Settings

class indico.modules.events.abstracts.settings.AllowEditingType(value)

An enumeration.

submitter = 'submitter'
submitter_all = 'submitter_all'
submitter_authors = 'submitter_authors'
submitter_primary = 'submitter_primary'
class indico.modules.events.abstracts.settings.BOACorrespondingAuthorType(value)

An enumeration.

none = 'none'
speakers = 'speakers'
submitter = 'submitter'
class indico.modules.events.abstracts.settings.BOALinkFormat(value)

LaTeX book of abstracts link format setting.

value is a 2-tuple of strings: first is the hyperref option to use second sets additional tex commands

frame = ('', '')
unstyled = ('[hidelinks]', '')
class indico.modules.events.abstracts.settings.BOASortField(value)

An enumeration.

abstract_title = 'title'
board_number = 'board_number'
id = 'id'
schedule = 'schedule'
schedule_board_number = 'schedule_board_number'
session_board_number = 'session_board_number'
session_schedule_board = 'session_schedule_board'
session_title = 'session_title'
speaker = 'speaker'
class indico.modules.events.abstracts.settings.SubmissionRightsType(value)

An enumeration.

all = 'all'
speakers = 'speakers'
speakers_primary = 'speakers_primary'