Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Code Refactor #9142

Open
wants to merge 19 commits into
base: development
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions app/api/access_codes.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,10 @@
from app.api.helpers.utilities import require_relationship
from app.api.schema.access_codes import AccessCodeSchema
from app.models import db
from app.models.access_code import AccessCode
from app.models.event import Event
from app.models.ticket import Ticket
from app.models.user import User
from app.models.Financial_Context.access_code import AccessCode
from app.models.Event_Context.event import Event
from app.models.Financial_Context.ticket import Ticket
from app.models.user_context.user import User


class AccessCodeListPost(ResourceList):
Expand Down
12 changes: 8 additions & 4 deletions app/api/admin_sales/discounted.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,17 @@
from app.api.bootstrap import api
from app.api.helpers.utilities import dasherize
from app.models import db
from app.models.discount_code import DiscountCode
from app.models.event import Event
from app.models.order import Order, OrderTicket
from app.models.user import User
from app.models.Financial_Context.discount_code import DiscountCode
from app.models.Event_Context.event import Event
from app.models.Financial_Context.order import Order, OrderTicket
from app.models.user_context.user import User


def sales_per_marketer_and_discount_by_status(status):
"""
Generates a Common Table Expression (CTE) that calculates sales and ticket quantities
per marketer and discount code for a specific order status.
"""
return (
db.session.query(
Event.id.label('event_id'),
Expand Down
59 changes: 37 additions & 22 deletions app/api/admin_sales/events.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,39 +7,25 @@
from app.api.helpers.db import save_bulk_to_db
from app.api.helpers.utilities import dasherize
from app.models import db
from app.models.event import Event
from app.models.Event_Context.event import Event


class AdminSalesByEventsSchema(Schema):
class EventInfo(Schema):
"""
Sales summarized by event

Provides
event(name),
date,
count of tickets and total sales for orders grouped by status
This class holds information about the event.
Holds information on the event type, name, date, and owners.
"""

class Meta:
type_ = 'admin-sales-by-events'
self_view = 'v1.admin_sales_by_events'
inflect = dasherize
type_ = 'event-info'

id = fields.String()
identifier = fields.String()
name = fields.String()
created_at = fields.DateTime()
deleted_at = fields.DateTime()
starts_at = fields.DateTime()
ends_at = fields.DateTime()
duration = fields.DateTime()
payment_currency = fields.String()
payment_country = fields.String()
completed_order_sales = fields.Integer(dump_only=True)
placed_order_sales = fields.Integer(dump_only=True)
pending_order_sales = fields.Integer(dump_only=True)
completed_order_tickets = fields.Integer(dump_only=True)
placed_order_tickets = fields.Integer(dump_only=True)
pending_order_tickets = fields.Integer(dump_only=True)
type = fields.Method('event_type')
owner = fields.Method('event_owner')
owner_id = fields.Method('event_owner_id')
Expand All @@ -60,6 +46,35 @@ def event_type(self, obj):
elif obj.location_name:
t = 'Venue'
return str(t)


class EventSales(Schema):
"""
This class holds sales data for the event.
The data is grouped by order status.
"""

class Meta:
type_ = 'event-sales'

completed_order_sales = fields.Integer(dump_only=True)
placed_order_sales = fields.Integer(dump_only=True)
pending_order_sales = fields.Integer(dump_only=True)



class EventTickets(Schema):
"""
This class holds ticket data for the event.
The data is grouped by order status.
"""

class Meta:
type_ = 'event-tickets'

completed_order_tickets = fields.Integer(dump_only=True)
placed_order_tickets = fields.Integer(dump_only=True)
pending_order_tickets = fields.Integer(dump_only=True)


class AdminSalesByEventsList(ResourceList):
Expand Down Expand Up @@ -111,9 +126,9 @@ def after_get(self, res):

methods = ['GET']
decorators = (api.has_permission('is_admin'),)
schema = AdminSalesByEventsSchema
schema = EventInfo
data_layer = {
'model': Event,
'session': db.session,
'methods': {'query': query, 'after_get': after_get},
}
}
2 changes: 1 addition & 1 deletion app/api/admin_sales/fees.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
from app.api.bootstrap import api
from app.api.helpers.utilities import dasherize
from app.models import db
from app.models.event import Event
from app.models.Event_Context.event import Event


class AdminSalesFeesSchema(Schema):
Expand Down
2 changes: 1 addition & 1 deletion app/api/admin_sales/invoices.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
from app.api.bootstrap import api
from app.api.helpers.utilities import dasherize
from app.models import db
from app.models.event_invoice import EventInvoice
from app.models.Financial_Context.event_invoice import EventInvoice


class AdminSalesInvoicesSchema(Schema):
Expand Down
9 changes: 7 additions & 2 deletions app/api/admin_sales/locations.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,16 @@
from app.api.bootstrap import api
from app.api.helpers.utilities import dasherize
from app.models import db
from app.models.event import Event
from app.models.order import Order, OrderTicket
from app.models.Event_Context.event import Event
from app.models.Financial_Context.order import Order, OrderTicket


def sales_per_location_by_status(status):
"""
Generates a Common Table Expression (CTE) that calculates sales and ticket quantities
grouped by event location for a specific order status.
"""

return (
db.session.query(
Event.location_name.label('location'),
Expand Down
4 changes: 2 additions & 2 deletions app/api/admin_sales/marketer.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
from app.api.admin_sales.utils import summary
from app.api.bootstrap import api
from app.models import db
from app.models.order import Order, OrderTicket
from app.models.user import User
from app.models.Financial_Context.order import Order, OrderTicket
from app.models.user_context.user import User


class AdminSalesByMarketerSchema(Schema):
Expand Down
10 changes: 5 additions & 5 deletions app/api/admin_sales/organizer.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@
from app.api.bootstrap import api
from app.api.helpers.utilities import dasherize
from app.models import db
from app.models.event import Event
from app.models.order import Order, OrderTicket
from app.models.role import Role
from app.models.user import User
from app.models.users_events_role import UsersEventsRoles
from app.models.Event_Context.event import Event
from app.models.Financial_Context.order import Order, OrderTicket
from app.models.Associations_Context.role import Role
from app.models.user_context.user import User
from app.models.user_context.users_events_role import UsersEventsRoles


class AdminSalesByOrganizersSchema(Schema):
Expand Down
4 changes: 2 additions & 2 deletions app/api/admin_sales/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
"""
from sqlalchemy import func

from app.models.order import Order
from app.models.ticket_holder import TicketHolder
from app.models.Financial_Context.order import Order
from app.models.Financial_Context.ticket_holder import TicketHolder


def status_summary(sales_summary, tickets_summary, status):
Expand Down
6 changes: 3 additions & 3 deletions app/api/admin_statistics_api/groups.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
from app.api.data_layers.NoModelLayer import NoModelLayer
from app.api.helpers.utilities import dasherize
from app.models import db
from app.models.event import Event
from app.models.group import Group
from app.models.user_follow_group import UserFollowGroup
from app.models.Event_Context.event import Event
from app.models.Associations_Context.group import Group
from app.models.user_context.user_follow_group import UserFollowGroup


class AdminStatisticsGroupSchema(Schema):
Expand Down
2 changes: 1 addition & 1 deletion app/api/admin_statistics_api/mails.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
from app.api.data_layers.NoModelLayer import NoModelLayer
from app.api.helpers.utilities import dasherize
from app.models import db
from app.models.mail import Mail
from app.models.Communication_Context.mail import Mail


class AdminStatisticsMailSchema(Schema):
Expand Down
2 changes: 1 addition & 1 deletion app/api/admin_statistics_api/sessions.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
from app.api.helpers.db import get_count
from app.api.helpers.utilities import dasherize
from app.models import db
from app.models.session import Session
from app.models.Event_Context.session import Session


class AdminStatisticsSessionSchema(Schema):
Expand Down
8 changes: 4 additions & 4 deletions app/api/admin_statistics_api/users.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@
from app.api.helpers.db import get_count
from app.api.helpers.utilities import dasherize
from app.models import db
from app.models.role import Role
from app.models.ticket_holder import TicketHolder
from app.models.user import User
from app.models.users_events_role import UsersEventsRoles
from app.models.Associations_Context.role import Role
from app.models.Financial_Context.ticket_holder import TicketHolder
from app.models.user_context.user import User
from app.models.user_context.users_events_role import UsersEventsRoles


class AdminStatisticsUserSchema(Schema):
Expand Down
8 changes: 4 additions & 4 deletions app/api/attendees.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,10 @@
from app.api.helpers.query import event_query
from app.api.schema.attendees import AttendeeSchema
from app.models import db
from app.models.order import Order
from app.models.ticket import Ticket
from app.models.ticket_holder import TicketHolder
from app.models.user import User
from app.models.Financial_Context.order import Order
from app.models.Financial_Context.ticket import Ticket
from app.models.Financial_Context.ticket_holder import TicketHolder
from app.models.user_context.user import User
from app.settings import get_settings


Expand Down
2 changes: 1 addition & 1 deletion app/api/auth.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@
from app.api.helpers.utilities import get_serializer, str_generator
from app.extensions.limiter import limiter
from app.models import db
from app.models.user import User
from app.models.user_context.user import User

logger = logging.getLogger(__name__)
authorised_blueprint = Blueprint('authorised_blueprint', __name__, url_prefix='/')
Expand Down
2 changes: 1 addition & 1 deletion app/api/badge_field_forms.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
from app.api.helpers.utilities import require_relationship
from app.api.schema.badge_field_forms import BadgeFieldFormSchema
from app.models import db
from app.models.badge_field_form import BadgeFieldForms
from app.models.Form_Context.badge_field_form import BadgeFieldForms


class BadgeFieldFormList(ResourceList):
Expand Down
6 changes: 3 additions & 3 deletions app/api/badge_forms.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@
from app.api.helpers.utilities import require_relationship
from app.api.schema.badge_forms import BadgeFormSchema
from app.models import db
from app.models.badge_field_form import BadgeFieldForms
from app.models.badge_form import BadgeForms
from app.models.event import Event
from app.models.Form_Context.badge_field_form import BadgeFieldForms
from app.models.Form_Context.badge_form import BadgeForms
from app.models.Event_Context.event import Event


class BadgeFormList(ResourceList):
Expand Down
8 changes: 4 additions & 4 deletions app/api/chat/rocket_chat.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@

from app.api.helpers.db import get_new_identifier, get_or_create
from app.models import db
from app.models.event import Event
from app.models.microlocation import Microlocation
from app.models.user import User
from app.models.video_stream import VideoStream
from app.models.Event_Context.event import Event
from app.models.Event_Context.microlocation import Microlocation
from app.models.user_context.user import User
from app.models.Event_Context.video_stream import VideoStream
from app.settings import get_settings

logger = logging.getLogger(__name__)
Expand Down
4 changes: 2 additions & 2 deletions app/api/custom/attendees.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@
from app.api.helpers.permission_manager import has_access
from app.api.helpers.permissions import jwt_required
from app.models import db
from app.models.order import Order
from app.models.ticket_holder import TicketHolder
from app.models.Financial_Context.order import Order
from app.models.Financial_Context.ticket_holder import TicketHolder

attendee_blueprint = Blueprint('attendee_blueprint', __name__, url_prefix='/v1')

Expand Down
4 changes: 2 additions & 2 deletions app/api/custom/badge_forms.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@
create_export_badge_job,
)
from app.api.helpers.permission_manager import has_access
from app.models.badge_form import BadgeForms
from app.models.ticket_holder import TicketHolder
from app.models.Form_Context.badge_form import BadgeForms
from app.models.Financial_Context.ticket_holder import TicketHolder

badge_forms_routes = Blueprint(
'badge_forms_routes', __name__, url_prefix='/v1/badge-forms'
Expand Down
2 changes: 1 addition & 1 deletion app/api/custom/calendars.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

from app.api.helpers.calendar.ical import to_ical
from app.api.helpers.permissions import to_event_id
from app.models.event import Event
from app.models.Event_Context.event import Event

calendar_routes = Blueprint('calendars', __name__, url_prefix='/v1/events')

Expand Down
14 changes: 7 additions & 7 deletions app/api/custom/check_in_stats.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,14 @@
from app.api.helpers.permissions import jwt_required
from app.api.helpers.static import STATION_TYPE
from app.models import db
from app.models.event import Event
from app.models.session import Session
from app.models.session_type import SessionType
from app.models.station import Station
from app.models.station_store_pax import StationStorePax
from app.models.ticket_holder import TicketHolder
from app.models.Event_Context.event import Event
from app.models.Event_Context.session import Session
from app.models.Event_Context.session_type import SessionType
from app.models.Event_Context.station import Station
from app.models.Event_Context.station_store_pax import StationStorePax
from app.models.Financial_Context.ticket_holder import TicketHolder
from app.models.track import Track
from app.models.user_check_in import UserCheckIn
from app.models.user_context.user_check_in import UserCheckIn

check_in_stats_routes = Blueprint(
'check_in_stats_routes', __name__, url_prefix='/v1/user-check-in/stats'
Expand Down
16 changes: 8 additions & 8 deletions app/api/custom/events.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,14 @@
from app.api.schema.speakers import SpeakerReorderSchema
from app.api.schema.virtual_check_in import VirtualCheckInSchema
from app.models import db
from app.models.discount_code import DiscountCode
from app.models.event import Event
from app.models.exhibitor import Exhibitor
from app.models.microlocation import Microlocation
from app.models.order import Order
from app.models.session import Session
from app.models.speaker import Speaker
from app.models.ticket_holder import TicketHolder
from app.models.Financial_Context.discount_code import DiscountCode
from app.models.Event_Context.event import Event
from app.models.Event_Context.exhibitor import Exhibitor
from app.models.Event_Context.microlocation import Microlocation
from app.models.Financial_Context.order import Order
from app.models.Event_Context.session import Session
from app.models.Associations_Context.speaker import Speaker
from app.models.Financial_Context.ticket_holder import TicketHolder

events_routes = Blueprint('events_routes', __name__, url_prefix='/v1/events')

Expand Down
2 changes: 1 addition & 1 deletion app/api/custom/group_role_invite.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from flask import Blueprint, jsonify

from app.api.helpers.permissions import jwt_required
from app.models.users_groups_role import UsersGroupsRoles
from app.models.user_context.users_groups_role import UsersGroupsRoles

group_role_invites_routes = Blueprint(
'group_role_invites_routes', __name__, url_prefix='/v1/group-role-invites'
Expand Down
Loading