...
This commit is contained in:
4
.idea/benchcoach.iml
generated
4
.idea/benchcoach.iml
generated
@@ -19,10 +19,12 @@
|
|||||||
<excludeFolder url="file://$MODULE_DIR$/docs/_build" />
|
<excludeFolder url="file://$MODULE_DIR$/docs/_build" />
|
||||||
<excludeFolder url="file://$MODULE_DIR$/venv" />
|
<excludeFolder url="file://$MODULE_DIR$/venv" />
|
||||||
</content>
|
</content>
|
||||||
<orderEntry type="jdk" jdkName="Python 3.9 (benchcoach) (2)" jdkType="Python SDK" />
|
<orderEntry type="jdk" jdkName="Python 3.10 (benchcoach)" jdkType="Python SDK" />
|
||||||
<orderEntry type="sourceFolder" forTests="false" />
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
<orderEntry type="module" module-name="pyteamsnap" />
|
<orderEntry type="module" module-name="pyteamsnap" />
|
||||||
<orderEntry type="module" module-name="gamescrapyr" />
|
<orderEntry type="module" module-name="gamescrapyr" />
|
||||||
|
<orderEntry type="library" name="bootstrap-icons" level="application" />
|
||||||
|
<orderEntry type="library" name="bootstrap" level="application" />
|
||||||
</component>
|
</component>
|
||||||
<component name="PackageRequirementsSettings">
|
<component name="PackageRequirementsSettings">
|
||||||
<option name="requirementsPath" value="$MODULE_DIR$/requirements/local.txt" />
|
<option name="requirementsPath" value="$MODULE_DIR$/requirements/local.txt" />
|
||||||
|
|||||||
1
.idea/inspectionProfiles/profiles_settings.xml
generated
1
.idea/inspectionProfiles/profiles_settings.xml
generated
@@ -1,5 +1,6 @@
|
|||||||
<component name="InspectionProjectProfileManager">
|
<component name="InspectionProjectProfileManager">
|
||||||
<settings>
|
<settings>
|
||||||
|
<option name="PROJECT_PROFILE" value="Default" />
|
||||||
<option name="USE_PROJECT_PROFILE" value="false" />
|
<option name="USE_PROJECT_PROFILE" value="false" />
|
||||||
<version value="1.0" />
|
<version value="1.0" />
|
||||||
</settings>
|
</settings>
|
||||||
|
|||||||
2
.idea/misc.xml
generated
2
.idea/misc.xml
generated
@@ -3,5 +3,5 @@
|
|||||||
<component name="JavaScriptSettings">
|
<component name="JavaScriptSettings">
|
||||||
<option name="languageLevel" value="ES6" />
|
<option name="languageLevel" value="ES6" />
|
||||||
</component>
|
</component>
|
||||||
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.9 (benchcoach) (2)" project-jdk-type="Python SDK" />
|
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.10 (pyteamsnap)" project-jdk-type="Python SDK" />
|
||||||
</project>
|
</project>
|
||||||
|
|||||||
19
.idea/runConfigurations/migrate.xml
generated
19
.idea/runConfigurations/migrate.xml
generated
@@ -12,13 +12,16 @@
|
|||||||
<option name="IS_MODULE_SDK" value="true" />
|
<option name="IS_MODULE_SDK" value="true" />
|
||||||
<option name="ADD_CONTENT_ROOTS" value="true" />
|
<option name="ADD_CONTENT_ROOTS" value="true" />
|
||||||
<option name="ADD_SOURCE_ROOTS" value="true" />
|
<option name="ADD_SOURCE_ROOTS" value="true" />
|
||||||
<PathMappingSettings>
|
<EXTENSION ID="net.ashald.envfile">
|
||||||
<option name="pathMappings">
|
<option name="IS_ENABLED" value="false" />
|
||||||
<list>
|
<option name="IS_SUBST" value="false" />
|
||||||
<mapping local-root="$PROJECT_DIR$" remote-root="/app" />
|
<option name="IS_PATH_MACRO_SUPPORTED" value="false" />
|
||||||
</list>
|
<option name="IS_IGNORE_MISSING_FILES" value="false" />
|
||||||
</option>
|
<option name="IS_ENABLE_EXPERIMENTAL_INTEGRATIONS" value="false" />
|
||||||
</PathMappingSettings>
|
<ENTRIES>
|
||||||
|
<ENTRY IS_ENABLED="true" PARSER="runconfig" />
|
||||||
|
</ENTRIES>
|
||||||
|
</EXTENSION>
|
||||||
<option name="launchJavascriptDebuger" value="false" />
|
<option name="launchJavascriptDebuger" value="false" />
|
||||||
<option name="host" value="" />
|
<option name="host" value="" />
|
||||||
<option name="additionalOptions" value="" />
|
<option name="additionalOptions" value="" />
|
||||||
@@ -27,6 +30,6 @@
|
|||||||
<option name="runNoReload" value="false" />
|
<option name="runNoReload" value="false" />
|
||||||
<option name="useCustomRunCommand" value="true" />
|
<option name="useCustomRunCommand" value="true" />
|
||||||
<option name="customRunCommand" value="migrate" />
|
<option name="customRunCommand" value="migrate" />
|
||||||
<method />
|
<method v="2" />
|
||||||
</configuration>
|
</configuration>
|
||||||
</component>
|
</component>
|
||||||
|
|||||||
10
.idea/runConfigurations/runserver.xml
generated
10
.idea/runConfigurations/runserver.xml
generated
@@ -14,6 +14,16 @@
|
|||||||
<option name="IS_MODULE_SDK" value="true" />
|
<option name="IS_MODULE_SDK" value="true" />
|
||||||
<option name="ADD_CONTENT_ROOTS" value="true" />
|
<option name="ADD_CONTENT_ROOTS" value="true" />
|
||||||
<option name="ADD_SOURCE_ROOTS" value="true" />
|
<option name="ADD_SOURCE_ROOTS" value="true" />
|
||||||
|
<EXTENSION ID="net.ashald.envfile">
|
||||||
|
<option name="IS_ENABLED" value="false" />
|
||||||
|
<option name="IS_SUBST" value="false" />
|
||||||
|
<option name="IS_PATH_MACRO_SUPPORTED" value="false" />
|
||||||
|
<option name="IS_IGNORE_MISSING_FILES" value="false" />
|
||||||
|
<option name="IS_ENABLE_EXPERIMENTAL_INTEGRATIONS" value="false" />
|
||||||
|
<ENTRIES>
|
||||||
|
<ENTRY IS_ENABLED="true" PARSER="runconfig" />
|
||||||
|
</ENTRIES>
|
||||||
|
</EXTENSION>
|
||||||
<option name="launchJavascriptDebuger" value="false" />
|
<option name="launchJavascriptDebuger" value="false" />
|
||||||
<option name="port" value="8000" />
|
<option name="port" value="8000" />
|
||||||
<option name="host" value="0.0.0.0" />
|
<option name="host" value="0.0.0.0" />
|
||||||
|
|||||||
16
.idea/runConfigurations/runserver_plus.xml
generated
16
.idea/runConfigurations/runserver_plus.xml
generated
@@ -5,8 +5,9 @@
|
|||||||
<option name="PARENT_ENVS" value="true" />
|
<option name="PARENT_ENVS" value="true" />
|
||||||
<envs>
|
<envs>
|
||||||
<env name="PYTHONUNBUFFERED" value="1" />
|
<env name="PYTHONUNBUFFERED" value="1" />
|
||||||
<env name="DJANGO_SETTINGS_MODULE" value="config.settings.local" />
|
|
||||||
<env name="DATABASE_URL" value="postgres://postgres:debug@127.0.0.1:5432/benchcoach" />
|
<env name="DATABASE_URL" value="postgres://postgres:debug@127.0.0.1:5432/benchcoach" />
|
||||||
|
<env name="DEBUG" value="True" />
|
||||||
|
<env name="DJANGO_SETTINGS_MODULE" value="config.settings.local" />
|
||||||
<env name="USE_DOCKER" value="yes" />
|
<env name="USE_DOCKER" value="yes" />
|
||||||
</envs>
|
</envs>
|
||||||
<option name="SDK_HOME" value="" />
|
<option name="SDK_HOME" value="" />
|
||||||
@@ -14,6 +15,17 @@
|
|||||||
<option name="IS_MODULE_SDK" value="true" />
|
<option name="IS_MODULE_SDK" value="true" />
|
||||||
<option name="ADD_CONTENT_ROOTS" value="true" />
|
<option name="ADD_CONTENT_ROOTS" value="true" />
|
||||||
<option name="ADD_SOURCE_ROOTS" value="true" />
|
<option name="ADD_SOURCE_ROOTS" value="true" />
|
||||||
|
<EXTENSION ID="net.ashald.envfile">
|
||||||
|
<option name="IS_ENABLED" value="true" />
|
||||||
|
<option name="IS_SUBST" value="false" />
|
||||||
|
<option name="IS_PATH_MACRO_SUPPORTED" value="false" />
|
||||||
|
<option name="IS_IGNORE_MISSING_FILES" value="false" />
|
||||||
|
<option name="IS_ENABLE_EXPERIMENTAL_INTEGRATIONS" value="false" />
|
||||||
|
<ENTRIES>
|
||||||
|
<ENTRY IS_ENABLED="true" PARSER="runconfig" />
|
||||||
|
<ENTRY IS_ENABLED="true" PARSER="env" PATH=".envs/.local/.django" />
|
||||||
|
</ENTRIES>
|
||||||
|
</EXTENSION>
|
||||||
<option name="launchJavascriptDebuger" value="true" />
|
<option name="launchJavascriptDebuger" value="true" />
|
||||||
<option name="port" value="8000" />
|
<option name="port" value="8000" />
|
||||||
<option name="host" value="127.0.0.1" />
|
<option name="host" value="127.0.0.1" />
|
||||||
@@ -25,4 +37,4 @@
|
|||||||
<option name="customRunCommand" value="runserver_plus" />
|
<option name="customRunCommand" value="runserver_plus" />
|
||||||
<method v="2" />
|
<method v="2" />
|
||||||
</configuration>
|
</configuration>
|
||||||
</component>
|
</component>
|
||||||
|
|||||||
@@ -64,8 +64,8 @@ def gamecard(request, team_id, event_id):
|
|||||||
gc_client = get_gamechanger_client(request)
|
gc_client = get_gamechanger_client(request)
|
||||||
stats = gc_client.get_stats()
|
stats = gc_client.get_stats()
|
||||||
stats_lookup = {
|
stats_lookup = {
|
||||||
GcModels.Player.objects.filter(id=k).first().teamsnap_member_id: stat_row
|
# GcModels.Player.objects.filter(id=k).first().teamsnap_member_id: stat_row
|
||||||
for k, stat_row in stats.items()
|
# for k, stat_row in stats.items()
|
||||||
}
|
}
|
||||||
|
|
||||||
members = []
|
members = []
|
||||||
|
|||||||
@@ -134,7 +134,7 @@ def roster(request):
|
|||||||
|
|
||||||
def roster_import(request):
|
def roster_import(request):
|
||||||
if request.method == "GET":
|
if request.method == "GET":
|
||||||
from pyteamsnap.objects import Member
|
from pyteamsnap.models import Member
|
||||||
|
|
||||||
gc_client = get_gamechanger_client(request)
|
gc_client = get_gamechanger_client(request)
|
||||||
season_slug = request.user.gamechanger_preferences.managed_team.season_slug
|
season_slug = request.user.gamechanger_preferences.managed_team.season_slug
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ def image_generator(request, team_id, event_id):
|
|||||||
TOKEN = current_teamsnap_user.socialtoken_set.order_by("-expires_at").first().token
|
TOKEN = current_teamsnap_user.socialtoken_set.order_by("-expires_at").first().token
|
||||||
|
|
||||||
from pyteamsnap.client import TeamSnap
|
from pyteamsnap.client import TeamSnap
|
||||||
from pyteamsnap.objects import Event
|
from pyteamsnap.models import Event
|
||||||
|
|
||||||
client = TeamSnap(token=TOKEN)
|
client = TeamSnap(token=TOKEN)
|
||||||
|
|
||||||
@@ -25,7 +25,7 @@ def image_generator(request, team_id, event_id):
|
|||||||
def get_matchup_image(request, team_id, event_id, dimensions=None, background=None):
|
def get_matchup_image(request, team_id, event_id, dimensions=None, background=None):
|
||||||
import io
|
import io
|
||||||
|
|
||||||
from pyteamsnap.objects import Location, Opponent, Team
|
from pyteamsnap.models import Location, Opponent, Team
|
||||||
|
|
||||||
from .utils.gen_image import Location as ImagegenLocation
|
from .utils.gen_image import Location as ImagegenLocation
|
||||||
from .utils.gen_image import Team as ImagegenTeam
|
from .utils.gen_image import Team as ImagegenTeam
|
||||||
@@ -45,7 +45,7 @@ def get_matchup_image(request, team_id, event_id, dimensions=None, background=No
|
|||||||
)
|
)
|
||||||
|
|
||||||
from pyteamsnap.client import TeamSnap
|
from pyteamsnap.client import TeamSnap
|
||||||
from pyteamsnap.objects import Event
|
from pyteamsnap.models import Event
|
||||||
|
|
||||||
teamsnap = TeamSnap(token=ts_token)
|
teamsnap = TeamSnap(token=ts_token)
|
||||||
|
|
||||||
|
|||||||
@@ -18,7 +18,8 @@ django-redis==5.2.0 # https://github.com/jazzband/django-redis
|
|||||||
|
|
||||||
api-client
|
api-client
|
||||||
|
|
||||||
-e git+ssh://gituser@home.ascorrea.com/~/pyteamsnap.git#egg=pyteamsnap
|
-e git+https://git@gitea.ascorrea.com/asc/pyteamsnap.git#egg=pyteamsnap
|
||||||
-e git+ssh://gituser@home.ascorrea.com/~/gamescrapyr.git#egg=gamescrapyr
|
-e git+https://git@gitea.ascorrea.com/asc/gamescrapyr.git#egg=gamescrapyr
|
||||||
|
|
||||||
beautifulsoup4==4.11.1
|
beautifulsoup4==4.11.1
|
||||||
|
pyOpenSSL
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ def dashboard(request, team_id=None):
|
|||||||
team_id=request.user.teamsnap_preferences.managed_team_id,
|
team_id=request.user.teamsnap_preferences.managed_team_id,
|
||||||
)
|
)
|
||||||
|
|
||||||
from pyteamsnap.objects import AvailabilitySummary, Event
|
from pyteamsnap.models import AvailabilitySummary, Event
|
||||||
|
|
||||||
client = get_teamsnap_client(request)
|
client = get_teamsnap_client(request)
|
||||||
ts_events = Event.search(client, team_id=team_id)
|
ts_events = Event.search(client, team_id=team_id)
|
||||||
|
|||||||
@@ -25,7 +25,7 @@
|
|||||||
|
|
||||||
{% block inline_javascript %}
|
{% block inline_javascript %}
|
||||||
{{ block.super }}
|
{{ block.super }}
|
||||||
<script src="{% static 'js/Sortable.js' %}"></script>
|
<script src="https://cdn.jsdelivr.net/npm/sortablejs@1.15.0/Sortable.min.js"></script>
|
||||||
<script src="{% static 'lineup/js/lineup.js' %}"></script>
|
<script src="{% static 'lineup/js/lineup.js' %}"></script>
|
||||||
<script>
|
<script>
|
||||||
window.addEventListener('DOMContentLoaded', () => {
|
window.addEventListener('DOMContentLoaded', () => {
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ def teamsnap_event_redirect(request, event_id, team_id):
|
|||||||
def edit_lineup(request, event_ids, team_id):
|
def edit_lineup(request, event_ids, team_id):
|
||||||
import re
|
import re
|
||||||
|
|
||||||
from pyteamsnap.objects import (
|
from pyteamsnap.models import (
|
||||||
Availability,
|
Availability,
|
||||||
AvailabilitySummary,
|
AvailabilitySummary,
|
||||||
Event,
|
Event,
|
||||||
@@ -25,7 +25,6 @@ def edit_lineup(request, event_ids, team_id):
|
|||||||
EventLineupEntry,
|
EventLineupEntry,
|
||||||
Member,
|
Member,
|
||||||
)
|
)
|
||||||
|
|
||||||
from teamsnap.forms import LineupEntryFormset
|
from teamsnap.forms import LineupEntryFormset
|
||||||
|
|
||||||
client = get_teamsnap_client(request)
|
client = get_teamsnap_client(request)
|
||||||
@@ -41,16 +40,16 @@ def edit_lineup(request, event_ids, team_id):
|
|||||||
|
|
||||||
contexts = []
|
contexts = []
|
||||||
for event_id in event_ids:
|
for event_id in event_ids:
|
||||||
ts_event = [
|
ts_event = next(
|
||||||
i for i in ts_bulkload if isinstance(i, Event) and i.data["id"] == event_id
|
i for i in ts_bulkload if isinstance(i, Event) and i.data["id"] == event_id
|
||||||
][0]
|
)
|
||||||
ts_availabilities = Availability.search(client, event_id=ts_event.data["id"])
|
ts_availabilities = Availability.search(client, event_id=ts_event.data["id"])
|
||||||
ts_lineup_entries = EventLineupEntry.search(client, event_id=event_id)
|
ts_lineup_entries = EventLineupEntry.search(client, event_id=event_id)
|
||||||
ts_availability_summary = [
|
ts_availability_summary = next(
|
||||||
i
|
i
|
||||||
for i in ts_bulkload
|
for i in ts_bulkload
|
||||||
if isinstance(i, AvailabilitySummary) and i.data["event_id"] == event_id
|
if isinstance(i, AvailabilitySummary) and i.data["event_id"] == event_id
|
||||||
][0]
|
)
|
||||||
ts_members = [i for i in ts_bulkload if isinstance(i, Member)]
|
ts_members = [i for i in ts_bulkload if isinstance(i, Member)]
|
||||||
ts_member_lookup = {m.data["id"]: m for m in ts_members}
|
ts_member_lookup = {m.data["id"]: m for m in ts_members}
|
||||||
gc_player_lookup = {
|
gc_player_lookup = {
|
||||||
@@ -150,31 +149,31 @@ def edit_lineup(request, event_ids, team_id):
|
|||||||
form.member = ts_member_lookup.get(form["member_id"].initial)
|
form.member = ts_member_lookup.get(form["member_id"].initial)
|
||||||
form.availability = ts_availability_lookup.get(form["member_id"].initial)
|
form.availability = ts_availability_lookup.get(form["member_id"].initial)
|
||||||
|
|
||||||
formset_startinglineup = [
|
formset_startinglineup = (
|
||||||
form
|
form
|
||||||
for form in formset
|
for form in formset
|
||||||
if form.initial.get("event_lineup_entry_id")
|
if form.initial.get("event_lineup_entry_id")
|
||||||
and not form.initial.get("position_only")
|
and not form.initial.get("position_only")
|
||||||
]
|
)
|
||||||
formset_startinglineup = sorted(
|
formset_startinglineup = sorted(
|
||||||
formset_startinglineup, key=lambda d: d.initial.get("sequence", 100)
|
formset_startinglineup, key=lambda d: d.initial.get("sequence", 100)
|
||||||
)
|
)
|
||||||
formset_startingpositiononly = [
|
formset_startingpositiononly = (
|
||||||
form
|
form
|
||||||
for form in formset
|
for form in formset
|
||||||
if form.initial.get("event_lineup_entry_id")
|
if form.initial.get("event_lineup_entry_id")
|
||||||
and form not in formset_startinglineup
|
and form not in formset_startinglineup
|
||||||
]
|
)
|
||||||
formset_startingpositiononly = sorted(
|
formset_startingpositiononly = sorted(
|
||||||
formset_startingpositiononly, key=lambda d: d.initial.get("sequence", 100)
|
formset_startingpositiononly, key=lambda d: d.initial.get("sequence", 100)
|
||||||
)
|
)
|
||||||
formset_bench = [
|
formset_bench = (
|
||||||
form
|
form
|
||||||
for form in formset
|
for form in formset
|
||||||
if form not in formset_startinglineup
|
if form not in formset_startinglineup
|
||||||
and form not in formset_startingpositiononly
|
and form not in formset_startingpositiononly
|
||||||
and form.availability.data["status_code"] in [2, 1]
|
and form.availability.data["status_code"] in [2, 1]
|
||||||
]
|
)
|
||||||
formset_out = [
|
formset_out = [
|
||||||
form
|
form
|
||||||
for form in formset
|
for form in formset
|
||||||
@@ -195,16 +194,15 @@ def edit_lineup(request, event_ids, team_id):
|
|||||||
"formset_out": formset_out,
|
"formset_out": formset_out,
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
return render(request, "lineup/edit.html", context={"contexts": contexts})
|
return render(request, "lineup/edit.html", context={"contexts": contexts})
|
||||||
|
|
||||||
|
|
||||||
def submit_lineup(request, team_id, event_id):
|
def submit_lineup(request, team_id, event_id):
|
||||||
from pyteamsnap.objects import EventLineup, EventLineupEntry
|
from pyteamsnap.models import Event, EventLineup, EventLineupEntry
|
||||||
|
|
||||||
from teamsnap.forms import LineupEntryFormset
|
from teamsnap.forms import LineupEntryFormset
|
||||||
|
|
||||||
client = get_teamsnap_client(request)
|
client = get_teamsnap_client(request)
|
||||||
|
ts_event = Event.get(client, event_id)
|
||||||
ts_lineup = EventLineup.search(client, event_id=event_id)
|
ts_lineup = EventLineup.search(client, event_id=event_id)
|
||||||
event_lineup_id = ts_lineup[0].data["id"]
|
event_lineup_id = ts_lineup[0].data["id"]
|
||||||
if request.GET:
|
if request.GET:
|
||||||
@@ -260,7 +258,8 @@ def multi_lineup_choose(request, team_id=None):
|
|||||||
team_id=request.user.teamsnap_preferences.managed_team_id,
|
team_id=request.user.teamsnap_preferences.managed_team_id,
|
||||||
)
|
)
|
||||||
from django.forms import formset_factory
|
from django.forms import formset_factory
|
||||||
from pyteamsnap.objects import Event
|
|
||||||
|
from pyteamsnap.models import Event
|
||||||
|
|
||||||
from .forms import EventChooseForm
|
from .forms import EventChooseForm
|
||||||
|
|
||||||
|
|||||||
@@ -79,17 +79,17 @@ class PreferencesFormView(FormView):
|
|||||||
Returns the initial data to use for forms on this view.
|
Returns the initial data to use for forms on this view.
|
||||||
"""
|
"""
|
||||||
import pyteamsnap.client
|
import pyteamsnap.client
|
||||||
import pyteamsnap.objects
|
import pyteamsnap.models
|
||||||
|
|
||||||
ts_account = self.request.user.socialaccount_set.first()
|
ts_account = self.request.user.socialaccount_set.first()
|
||||||
ts_token = ts_account.socialtoken_set.first()
|
ts_token = ts_account.socialtoken_set.first()
|
||||||
# ts_token =
|
# ts_token =
|
||||||
ts = pyteamsnap.client.TeamSnap(token=ts_token)
|
ts = pyteamsnap.client.TeamSnap(token=ts_token)
|
||||||
|
|
||||||
me = pyteamsnap.objects.Me(ts)
|
me = pyteamsnap.models.Me(ts)
|
||||||
|
|
||||||
teams = [
|
teams = [
|
||||||
(id, pyteamsnap.objects.Team.get(ts, id=id))
|
(id, pyteamsnap.models.Team.get(ts, id=id))
|
||||||
for id in me.data["managed_team_ids"]
|
for id in me.data["managed_team_ids"]
|
||||||
]
|
]
|
||||||
|
|
||||||
@@ -117,7 +117,7 @@ def schedule_view(request, team_id=None):
|
|||||||
client = get_teamsnap_client(request)
|
client = get_teamsnap_client(request)
|
||||||
no_past = bool(request.GET.get("no_past", 0))
|
no_past = bool(request.GET.get("no_past", 0))
|
||||||
games_only = bool(request.GET.get("games_only", 0))
|
games_only = bool(request.GET.get("games_only", 0))
|
||||||
from pyteamsnap.objects import Event
|
from pyteamsnap.models import Event
|
||||||
|
|
||||||
ts_events = Event.search(client, team_id=team_id)
|
ts_events = Event.search(client, team_id=team_id)
|
||||||
if no_past:
|
if no_past:
|
||||||
@@ -144,7 +144,7 @@ def view_event(request, event_id, team_id=None):
|
|||||||
"teamsnap_event", team_id=request.user.teamsnap_preferences.managed_team_id
|
"teamsnap_event", team_id=request.user.teamsnap_preferences.managed_team_id
|
||||||
)
|
)
|
||||||
|
|
||||||
from pyteamsnap.objects import (
|
from pyteamsnap.models import (
|
||||||
AvailabilitySummary,
|
AvailabilitySummary,
|
||||||
Event,
|
Event,
|
||||||
EventLineup,
|
EventLineup,
|
||||||
@@ -184,7 +184,8 @@ def view_event(request, event_id, team_id=None):
|
|||||||
|
|
||||||
def multi_lineup_choose(request, team_id):
|
def multi_lineup_choose(request, team_id):
|
||||||
from django.forms import formset_factory
|
from django.forms import formset_factory
|
||||||
from pyteamsnap.objects import Event
|
|
||||||
|
from pyteamsnap.models import Event
|
||||||
|
|
||||||
from .forms import EventChooseForm
|
from .forms import EventChooseForm
|
||||||
|
|
||||||
@@ -248,13 +249,13 @@ class OpponentFormView(FormView):
|
|||||||
def form_valid(self, form):
|
def form_valid(self, form):
|
||||||
# This method is called when valid form data has been POSTed.
|
# This method is called when valid form data has been POSTed.
|
||||||
# It should return an HttpResponse.
|
# It should return an HttpResponse.
|
||||||
import pyteamsnap.objects
|
import pyteamsnap.models
|
||||||
|
|
||||||
ts_client = get_teamsnap_client(self.request)
|
ts_client = get_teamsnap_client(self.request)
|
||||||
user = pyteamsnap.objects.Me(ts_client)
|
user = pyteamsnap.models.Me(ts_client)
|
||||||
team_id = int(self.kwargs.get("team_id"))
|
team_id = int(self.kwargs.get("team_id"))
|
||||||
opponent_id = int(self.kwargs.get("opponent_id"))
|
opponent_id = int(self.kwargs.get("opponent_id"))
|
||||||
opponent = pyteamsnap.objects.Opponent.get(ts_client, opponent_id)
|
opponent = pyteamsnap.models.Opponent.get(ts_client, opponent_id)
|
||||||
if (
|
if (
|
||||||
team_id in user.data["managed_team_ids"]
|
team_id in user.data["managed_team_ids"]
|
||||||
and opponent.data["team_id"] == team_id
|
and opponent.data["team_id"] == team_id
|
||||||
@@ -282,11 +283,11 @@ class OpponentFormView(FormView):
|
|||||||
return form
|
return form
|
||||||
|
|
||||||
def get_context_data(self, **kwargs):
|
def get_context_data(self, **kwargs):
|
||||||
import pyteamsnap.objects
|
import pyteamsnap.models
|
||||||
|
|
||||||
ts_client = get_teamsnap_client(self.request)
|
ts_client = get_teamsnap_client(self.request)
|
||||||
context = super().get_context_data(**kwargs)
|
context = super().get_context_data(**kwargs)
|
||||||
opponent = pyteamsnap.objects.Opponent.get(
|
opponent = pyteamsnap.models.Opponent.get(
|
||||||
ts_client, self.kwargs.get("opponent_id")
|
ts_client, self.kwargs.get("opponent_id")
|
||||||
)
|
)
|
||||||
context["opponent"] = opponent
|
context["opponent"] = opponent
|
||||||
@@ -299,7 +300,7 @@ class Opponents(ListView):
|
|||||||
pass
|
pass
|
||||||
|
|
||||||
def get_queryset(self):
|
def get_queryset(self):
|
||||||
from pyteamsnap.objects import Opponent as TsOpponent
|
from pyteamsnap.models import Opponent as TsOpponent
|
||||||
|
|
||||||
ts_client = get_teamsnap_client(self.request)
|
ts_client = get_teamsnap_client(self.request)
|
||||||
team_id = self.kwargs.get("team_id")
|
team_id = self.kwargs.get("team_id")
|
||||||
|
|||||||
Reference in New Issue
Block a user