Abstract

Todo

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

Models

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

Bases: indico.modules.events.models.reviews.ProposalMixin, indico.modules.events.models.reviews.ProposalRevisionMixin, indico.core.db.sqlalchemy.descriptions.DescriptionMixin, indico.modules.events.contributions.models.contributions.CustomFieldsMixin, indico.modules.events.models.persons.AuthorsSpeakersMixin, sqlalchemy.orm.decl_api.Model

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'
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)
candidate_contrib_types
candidate_tracks
create_comment_endpoint = 'abstracts.comment_abstract'
create_judgment_endpoint = 'abstracts.judge_abstract'
create_review_endpoint = 'abstracts.review_abstract'
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'
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_question_scores()
get_track_reviewing_state(track)
get_track_score(track)
id
is_deleted
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
modification_ended
modified_by
modified_by_id
modified_dt

Persons associated with this abstract

possible_render_modes = {<RenderMode.markdown: 2>}
proposal_type = 'abstract'
public_state
render_mode = 2
reset_state()
reviewed_for_tracks
reviewing_state
revisions_enabled = False
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
user_owns(user)
uuid
verbose_title
class indico.modules.events.abstracts.models.abstracts.AbstractPublicState

Bases: indico.util.enum.RichIntEnum

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

Bases: indico.util.enum.RichIntEnum

An enumeration.

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

Bases: indico.util.enum.RichIntEnum

An enumeration.

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

Bases: int, indico.util.enum.IndicoEnum

An enumeration.

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

Bases: object

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
announcement
can_edit_abstracts(user)
can_submit_abstracts(user)
close()
contribution_submitters
end_dt
has_ended
has_started
is_open
is_scheduled
judgment_instructions
modification_end_dt
modification_ended
open()
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)

Bases: indico.modules.events.models.reviews.ProposalCommentMixin, indico.core.db.sqlalchemy.review_comments.ReviewCommentMixin, sqlalchemy.orm.decl_api.Model

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)

Bases: sqlalchemy.orm.decl_api.Model

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
recipients
sent_dt
subject
user
user_id
class indico.modules.events.abstracts.models.email_templates.AbstractEmailTemplate(**kwargs)

Bases: sqlalchemy.orm.decl_api.Model

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

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)

Bases: indico.modules.events.contributions.models.fields.ContributionFieldValueBase

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'
contribution_field_id
data
class indico.modules.events.abstracts.models.files.AbstractFile(**kwargs)

Bases: indico.core.storage.models.StoredFileMixin, sqlalchemy.orm.decl_api.Model

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
content_type

The MIME type of the file.

created_dt = None
extension

The extension of the file.

filename

The name of the file.

id
locator
md5

An MD5 hash of the file.

Automatically assigned when save() is called.

size

The size of the file (in bytes).

Automatically assigned when save() is called.

storage_backend
storage_file_id

Bases: indico.modules.events.models.persons.PersonLinkBase

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'
person
person_id
class indico.modules.events.abstracts.models.review_questions.AbstractReviewQuestion(**kwargs)

Bases: indico.core.db.sqlalchemy.review_questions.ReviewQuestionMixin, sqlalchemy.orm.decl_api.Model

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'
event_id
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
title
class indico.modules.events.abstracts.models.review_ratings.AbstractReviewRating(**kwargs)

Bases: indico.core.db.sqlalchemy.review_ratings.ReviewRatingMixin, sqlalchemy.orm.decl_api.Model

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
question
question_class

alias of indico.modules.events.abstracts.models.review_questions.AbstractReviewQuestion

question_id
review
review_class

alias of indico.modules.events.abstracts.models.reviews.AbstractReview

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

Bases: indico.util.enum.RichIntEnum

An enumeration.

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

Bases: indico.util.enum.RichIntEnum

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)

Bases: indico.modules.events.models.reviews.ProposalReviewMixin, indico.core.db.sqlalchemy.descriptions.RenderModeMixin, sqlalchemy.orm.decl_api.Model

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'
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: 2>}
proposed_action
proposed_contribution_type
proposed_contribution_type_id
proposed_tracks
render_mode = 2
revision_attr = 'abstract'
score
track
track_id
user
user_id
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.EventTitlePlaceholder

Bases: indico.util.placeholders.Placeholder

description = l'The title of the event'
name = 'event_title'
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

Bases: indico.util.placeholders.Placeholder

description = l'The URL of the event'
name = 'event_url'
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.AbstractIDPlaceholder

Bases: indico.util.placeholders.Placeholder

description = l'The ID of the abstract'
name = 'abstract_id'
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

Bases: indico.util.placeholders.Placeholder

description = l'The title of the abstract'
name = 'abstract_title'
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

Bases: indico.util.placeholders.Placeholder

advanced = True
description = l'The direct URL of the abstract'
name = 'abstract_url'
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

Bases: indico.util.placeholders.Placeholder

description = l'The link to submit an invited abstract'
name = 'invitation_url'
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

Bases: indico.util.placeholders.Placeholder

description = l'The name of the destination track'
name = 'abstract_track'
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

Bases: indico.util.placeholders.Placeholder

description = l'The name of the destination session'
name = 'abstract_session'
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

Bases: indico.util.placeholders.Placeholder

description = l'The names of the primary authors (separated by commas)'
name = 'primary_authors'
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

Bases: indico.util.placeholders.Placeholder

description = l'The names of the co-authors (separated by commas)'
name = 'co_authors'
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

Bases: indico.util.placeholders.Placeholder

description = l'The full name of the submitter, no title'
name = 'submitter_name'
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

Bases: indico.util.placeholders.Placeholder

advanced = True
description = l'The first name of the submitter'
name = 'submitter_first_name'
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

Bases: indico.util.placeholders.Placeholder

advanced = True
description = l'The last name of the submitter'
name = 'submitter_last_name'
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

Bases: indico.util.placeholders.Placeholder

description = l'The title of the submitter (Dr, Prof., etc...)'
name = 'submitter_title'
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

Bases: indico.util.placeholders.Placeholder

description = l'The ID of the target abstract (merge or duplicate)'
name = 'target_abstract_id'
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

Bases: indico.util.placeholders.Placeholder

description = l'The title of the target abstract (merge or duplicate)'
name = 'target_abstract_title'
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

Bases: indico.util.placeholders.Placeholder

advanced = True
description = l"The full name of the target abstract's submitter, no title (merge or duplicate)"
name = 'target_submitter_name'
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

Bases: indico.util.placeholders.Placeholder

advanced = True
description = l"The first name of the target abstract's submitter (merge or duplicate)"
name = 'target_submitter_first_name'
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

Bases: indico.util.placeholders.Placeholder

advanced = True
description = l"The last name of the target abstract's submitter (merge or duplicate)"
name = 'target_submitter_last_name'
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

Bases: indico.util.placeholders.Placeholder

description = l'Comments written by event organizer (upon final decision)'
name = 'judgment_comment'
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

Bases: indico.util.placeholders.Placeholder

description = l'The contribution type that is associated to the abstract'
name = 'contribution_type'
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

Bases: indico.util.placeholders.Placeholder

advanced = True
description = l'Contribution URL'
name = 'contribution_url'
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

Bases: indico.util.enum.RichEnum

An enumeration.

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

Bases: indico.util.enum.RichEnum

An enumeration.

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

Bases: indico.util.enum.RichEnum

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

Bases: indico.util.enum.RichEnum

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

Bases: indico.util.enum.RichEnum

An enumeration.

all = 'all'
speakers = 'speakers'