Skip to content

Basic OpenSign integration - #6

Open
james7132 wants to merge 1 commit into
touhoufest2027from
feat/opensign-integration
Open

Basic OpenSign integration#6
james7132 wants to merge 1 commit into
touhoufest2027from
feat/opensign-integration

Conversation

@james7132

Copy link
Copy Markdown

Cherrypicked this and branched off of touhoufest2027.

@james7132
james7132 requested a review from 7cff July 16, 2026 20:00
@james7132 james7132 added the U-Upstreamable This is a issue or pull request that is worth upstreaming to MAGFest label Jul 20, 2026
@james7132
james7132 force-pushed the feat/opensign-integration branch from dc44867 to e1a88e6 Compare July 20, 2026 04:14
@7cff
7cff force-pushed the touhoufest2027 branch from f319a90 to b9fe5b0 Compare July 21, 2026 01:29
@james7132
james7132 force-pushed the feat/opensign-integration branch from e1a88e6 to efb3cf7 Compare July 21, 2026 22:16

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remaining comments which cannot be posted as a review comment to avoid GitHub Rate Limit

ruff-lint

⚠️ [ruff] reported by reviewdog 🐶
Expected ,, found )

if hasattr(model, 'birthdate') and getattr(model, 'birthdate', None) and get_age_from_birthday(model.birthdate, c.NOW_OR_AT_CON) >= 18: (Implement provider-agnostic OpenSign e-signature integration with comprehensive test suite and documentation)


⚠️ [ruff] reported by reviewdog 🐶
Expected :, found newline

ubersystem/uber/payments.py

Lines 205 to 206 in efb3cf7

if hasattr(model, 'birthdate') and getattr(model, 'birthdate', None) and get_age_from_birthday(model.birthdate, c.NOW_OR_AT_CON) >= 18: (Implement provider-agnostic OpenSign e-signature integration with comprehensive test suite and documentation)
maybe_purchasers.append(model)


⚠️ [ruff] <F401> reported by reviewdog 🐶
uber.utils.SignNowRequest imported but unused

from uber.utils import remove_opt, SignNowRequest


⚠️ [ruff] <F401> reported by reviewdog 🐶
uber.models.Attendee imported but unused

from uber.models import AdminAccount, Attendee, Email, Event, Group, GuestGroup, PageViewTracking, Tracking


⚠️ [ruff] <F401> reported by reviewdog 🐶
uber.models.Event imported but unused

from uber.models import AdminAccount, Attendee, Email, Event, Group, GuestGroup, PageViewTracking, Tracking


⚠️ [ruff] <F401> reported by reviewdog 🐶
uber.utils.SignNowRequest imported but unused

from uber.utils import check, validate_model, add_opt, SignNowRequest


⚠️ [ruff] reported by reviewdog 🐶
Expected ), found name

def download_esign_document(self, session, id, return_to='../preregistration/group_members'): (Implement provider-agnostic OpenSign e-signature integration with comprehensive test suite and documentation)


⚠️ [ruff] reported by reviewdog 🐶
Simple statements must be separated by newlines or semicolons

def download_esign_document(self, session, id, return_to='../preregistration/group_members'): (Implement provider-agnostic OpenSign e-signature integration with comprehensive test suite and documentation)


⚠️ [ruff] reported by reviewdog 🐶
Simple statements must be separated by newlines or semicolons

def download_esign_document(self, session, id, return_to='../preregistration/group_members'): (Implement provider-agnostic OpenSign e-signature integration with comprehensive test suite and documentation)


⚠️ [ruff] reported by reviewdog 🐶
Simple statements must be separated by newlines or semicolons

def download_esign_document(self, session, id, return_to='../preregistration/group_members'): (Implement provider-agnostic OpenSign e-signature integration with comprehensive test suite and documentation)


⚠️ [ruff] reported by reviewdog 🐶
Compound statements are not allowed on the same line as simple statements

def download_esign_document(self, session, id, return_to='../preregistration/group_members'): (Implement provider-agnostic OpenSign e-signature integration with comprehensive test suite and documentation)


⚠️ [ruff] reported by reviewdog 🐶
Expected ,, found name

def download_esign_document(self, session, id, return_to='../preregistration/group_members'): (Implement provider-agnostic OpenSign e-signature integration with comprehensive test suite and documentation)


⚠️ [ruff] reported by reviewdog 🐶
Expected ,, found name

def download_esign_document(self, session, id, return_to='../preregistration/group_members'): (Implement provider-agnostic OpenSign e-signature integration with comprehensive test suite and documentation)


⚠️ [ruff] reported by reviewdog 🐶
Expected ,, found )

def download_esign_document(self, session, id, return_to='../preregistration/group_members'): (Implement provider-agnostic OpenSign e-signature integration with comprehensive test suite and documentation)


⚠️ [ruff] reported by reviewdog 🐶
Expected :, found newline

def download_esign_document(self, session, id, return_to='../preregistration/group_members'): (Implement provider-agnostic OpenSign e-signature integration with comprehensive test suite and documentation)
group = session.group(id)


⚠️ [ruff] reported by reviewdog 🐶
Expected ,, found name

c.REDIS_STORE.hset(c.REDIS_PREFIX + 'email_generation:' + id, 'emails_generated', email_count) (Implement provider-agnostic OpenSign e-signature integration with comprehensive test suite and documentation)


⚠️ [ruff] reported by reviewdog 🐶
Expected ,, found name

c.REDIS_STORE.hset(c.REDIS_PREFIX + 'email_generation:' + id, 'emails_generated', email_count) (Implement provider-agnostic OpenSign e-signature integration with comprehensive test suite and documentation)


⚠️ [ruff] reported by reviewdog 🐶
Expected ,, found name

c.REDIS_STORE.hset(c.REDIS_PREFIX + 'email_generation:' + id, 'emails_generated', email_count) (Implement provider-agnostic OpenSign e-signature integration with comprehensive test suite and documentation)


⚠️ [ruff] reported by reviewdog 🐶
Expected ,, found name

c.REDIS_STORE.hset(c.REDIS_PREFIX + 'email_generation:' + id, 'emails_generated', email_count) (Implement provider-agnostic OpenSign e-signature integration with comprehensive test suite and documentation)


⚠️ [ruff] reported by reviewdog 🐶
Expected ), found with

c.REDIS_STORE.hset(c.REDIS_PREFIX + 'email_generation:' + id, 'emails_generated', email_count) (Implement provider-agnostic OpenSign e-signature integration with comprehensive test suite and documentation)


⚠️ [ruff] reported by reviewdog 🐶
Expected ,, found name

c.REDIS_STORE.hset(c.REDIS_PREFIX + 'email_generation:' + id, 'emails_generated', email_count) (Implement provider-agnostic OpenSign e-signature integration with comprehensive test suite and documentation)


⚠️ [ruff] reported by reviewdog 🐶
Expected ,, found name

c.REDIS_STORE.hset(c.REDIS_PREFIX + 'email_generation:' + id, 'emails_generated', email_count) (Implement provider-agnostic OpenSign e-signature integration with comprehensive test suite and documentation)


⚠️ [ruff] reported by reviewdog 🐶
Expected ,, found )

c.REDIS_STORE.hset(c.REDIS_PREFIX + 'email_generation:' + id, 'emails_generated', email_count) (Implement provider-agnostic OpenSign e-signature integration with comprehensive test suite and documentation)


⚠️ [ruff] reported by reviewdog 🐶
Expected :, found newline

c.REDIS_STORE.hset(c.REDIS_PREFIX + 'email_generation:' + id, 'emails_generated', email_count) (Implement provider-agnostic OpenSign e-signature integration with comprehensive test suite and documentation)


⚠️ [ruff] reported by reviewdog 🐶
Simple statements must be separated by newlines or semicolons

from uber.signature_service import BaseSignatureRequest (Implement provider-agnostic OpenSign e-signature integration with comprehensive test suite and documentation)


⚠️ [ruff] reported by reviewdog 🐶
Expected ), found name

from uber.signature_service import BaseSignatureRequest (Implement provider-agnostic OpenSign e-signature integration with comprehensive test suite and documentation)


⚠️ [ruff] reported by reviewdog 🐶
Simple statements must be separated by newlines or semicolons

from uber.signature_service import BaseSignatureRequest (Implement provider-agnostic OpenSign e-signature integration with comprehensive test suite and documentation)


⚠️ [ruff] reported by reviewdog 🐶
Simple statements must be separated by newlines or semicolons

from uber.signature_service import BaseSignatureRequest (Implement provider-agnostic OpenSign e-signature integration with comprehensive test suite and documentation)


⚠️ [ruff] reported by reviewdog 🐶
Simple statements must be separated by newlines or semicolons

from uber.signature_service import BaseSignatureRequest (Implement provider-agnostic OpenSign e-signature integration with comprehensive test suite and documentation)


⚠️ [ruff] reported by reviewdog 🐶
Compound statements are not allowed on the same line as simple statements

from uber.signature_service import BaseSignatureRequest (Implement provider-agnostic OpenSign e-signature integration with comprehensive test suite and documentation)


⚠️ [ruff] reported by reviewdog 🐶
Expected ,, found name

from uber.signature_service import BaseSignatureRequest (Implement provider-agnostic OpenSign e-signature integration with comprehensive test suite and documentation)


⚠️ [ruff] reported by reviewdog 🐶
Expected ,, found name

from uber.signature_service import BaseSignatureRequest (Implement provider-agnostic OpenSign e-signature integration with comprehensive test suite and documentation)


⚠️ [ruff] reported by reviewdog 🐶
Expected ,, found )

from uber.signature_service import BaseSignatureRequest (Implement provider-agnostic OpenSign e-signature integration with comprehensive test suite and documentation)


⚠️ [ruff] reported by reviewdog 🐶
Expected :, found newline

ubersystem/uber/utils.py

Lines 1403 to 1404 in efb3cf7

from uber.signature_service import BaseSignatureRequest (Implement provider-agnostic OpenSign e-signature integration with comprehensive test suite and documentation)


⚠️ [ruff] reported by reviewdog 🐶
Expected an indented block after with statement

class SignNowRequest(BaseSignatureRequest):

Comment thread uber/automated_emails.py
when=days_before(7, c.PLACEHOLDER_DEADLINE if c.PLACEHOLDER_DEADLINE else c.UBER_TAKEDOWN),
ident='badge_confirmation_reminder_last_chance')

AutomatedEmailFixture(

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ [ruff] reported by reviewdog 🐶
Unexpected indentation

Comment thread uber/automated_emails.py
a.paid != c.NEED_NOT_PAY and 'converted badge' not in a.admin_notes.lower(),
'generic_badge_confirmation',
sender=c.CONTACT_EMAIL,
allow_at_the_con=True) (Implement provider-agnostic OpenSign e-signature integration with comprehensive test suite and documentation)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ [ruff] reported by reviewdog 🐶
Expected ,, found name

Comment thread uber/automated_emails.py
a.paid != c.NEED_NOT_PAY and 'converted badge' not in a.admin_notes.lower(),
'generic_badge_confirmation',
sender=c.CONTACT_EMAIL,
allow_at_the_con=True) (Implement provider-agnostic OpenSign e-signature integration with comprehensive test suite and documentation)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ [ruff] reported by reviewdog 🐶
Expected ,, found name

Comment thread uber/automated_emails.py
a.paid != c.NEED_NOT_PAY and 'converted badge' not in a.admin_notes.lower(),
'generic_badge_confirmation',
sender=c.CONTACT_EMAIL,
allow_at_the_con=True) (Implement provider-agnostic OpenSign e-signature integration with comprehensive test suite and documentation)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ [ruff] reported by reviewdog 🐶
Expected ,, found name

Comment thread uber/automated_emails.py
a.paid != c.NEED_NOT_PAY and 'converted badge' not in a.admin_notes.lower(),
'generic_badge_confirmation',
sender=c.CONTACT_EMAIL,
allow_at_the_con=True) (Implement provider-agnostic OpenSign e-signature integration with comprehensive test suite and documentation)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ [ruff] reported by reviewdog 🐶
Expected ,, found name

Comment thread uber/payments.py
for model in self.models:
if c.COLLECT_EXACT_BIRTHDATE and get_age_from_birthday(model.birthdate, c.NOW_OR_AT_CON) >= 18 or \
not c.COLLECT_EXACT_BIRTHDATE and model.age_group == getattr(c, '18_UP'):
if hasattr(model, 'birthdate') and getattr(model, 'birthdate', None) and get_age_from_birthday(model.birthdate, c.NOW_OR_AT_CON) >= 18: (Implement provider-agnostic OpenSign e-signature integration with comprehensive test suite and documentation)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ [ruff] reported by reviewdog 🐶
Simple statements must be separated by newlines or semicolons

Comment thread uber/payments.py
for model in self.models:
if c.COLLECT_EXACT_BIRTHDATE and get_age_from_birthday(model.birthdate, c.NOW_OR_AT_CON) >= 18 or \
not c.COLLECT_EXACT_BIRTHDATE and model.age_group == getattr(c, '18_UP'):
if hasattr(model, 'birthdate') and getattr(model, 'birthdate', None) and get_age_from_birthday(model.birthdate, c.NOW_OR_AT_CON) >= 18: (Implement provider-agnostic OpenSign e-signature integration with comprehensive test suite and documentation)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ [ruff] reported by reviewdog 🐶
Simple statements must be separated by newlines or semicolons

Comment thread uber/payments.py
for model in self.models:
if c.COLLECT_EXACT_BIRTHDATE and get_age_from_birthday(model.birthdate, c.NOW_OR_AT_CON) >= 18 or \
not c.COLLECT_EXACT_BIRTHDATE and model.age_group == getattr(c, '18_UP'):
if hasattr(model, 'birthdate') and getattr(model, 'birthdate', None) and get_age_from_birthday(model.birthdate, c.NOW_OR_AT_CON) >= 18: (Implement provider-agnostic OpenSign e-signature integration with comprehensive test suite and documentation)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ [ruff] reported by reviewdog 🐶
Compound statements are not allowed on the same line as simple statements

Comment thread uber/payments.py
for model in self.models:
if c.COLLECT_EXACT_BIRTHDATE and get_age_from_birthday(model.birthdate, c.NOW_OR_AT_CON) >= 18 or \
not c.COLLECT_EXACT_BIRTHDATE and model.age_group == getattr(c, '18_UP'):
if hasattr(model, 'birthdate') and getattr(model, 'birthdate', None) and get_age_from_birthday(model.birthdate, c.NOW_OR_AT_CON) >= 18: (Implement provider-agnostic OpenSign e-signature integration with comprehensive test suite and documentation)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ [ruff] reported by reviewdog 🐶
Expected ,, found name

Comment thread uber/payments.py
for model in self.models:
if c.COLLECT_EXACT_BIRTHDATE and get_age_from_birthday(model.birthdate, c.NOW_OR_AT_CON) >= 18 or \
not c.COLLECT_EXACT_BIRTHDATE and model.age_group == getattr(c, '18_UP'):
if hasattr(model, 'birthdate') and getattr(model, 'birthdate', None) and get_age_from_birthday(model.birthdate, c.NOW_OR_AT_CON) >= 18: (Implement provider-agnostic OpenSign e-signature integration with comprehensive test suite and documentation)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ [ruff] reported by reviewdog 🐶
Expected ,, found name

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

U-Upstreamable This is a issue or pull request that is worth upstreaming to MAGFest

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant