diff --git a/benchcoachproject/static/teamsnap/ig/fonts/Arial.ttf b/benchcoachproject/static/teamsnap/ig/fonts/Arial.ttf new file mode 100644 index 0000000..ab68fb1 Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/fonts/Arial.ttf differ diff --git a/benchcoachproject/static/teamsnap/ig/fonts/DINAlternate-Bold.ttf b/benchcoachproject/static/teamsnap/ig/fonts/DINAlternate-Bold.ttf new file mode 100644 index 0000000..d6aa8f1 Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/fonts/DINAlternate-Bold.ttf differ diff --git a/benchcoachproject/static/teamsnap/ig/fonts/DINCondensed-Bold.ttf b/benchcoachproject/static/teamsnap/ig/fonts/DINCondensed-Bold.ttf new file mode 100644 index 0000000..708c0a5 Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/fonts/DINCondensed-Bold.ttf differ diff --git a/benchcoachproject/static/teamsnap/ig/fonts/Freshman.ttf b/benchcoachproject/static/teamsnap/ig/fonts/Freshman.ttf new file mode 100644 index 0000000..a20b7f9 Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/fonts/Freshman.ttf differ diff --git a/benchcoachproject/static/teamsnap/ig/fonts/Futura.ttc b/benchcoachproject/static/teamsnap/ig/fonts/Futura.ttc new file mode 100644 index 0000000..8eaa87a Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/fonts/Futura.ttc differ diff --git a/benchcoachproject/static/teamsnap/ig/fonts/FuturaCondensedBold.otf b/benchcoachproject/static/teamsnap/ig/fonts/FuturaCondensedBold.otf new file mode 100644 index 0000000..dab9a49 Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/fonts/FuturaCondensedBold.otf differ diff --git a/benchcoachproject/static/teamsnap/ig/fonts/ScalaSans-BoldLF.otf b/benchcoachproject/static/teamsnap/ig/fonts/ScalaSans-BoldLF.otf new file mode 100644 index 0000000..9823262 Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/fonts/ScalaSans-BoldLF.otf differ diff --git a/benchcoachproject/static/teamsnap/ig/fonts/ScalaSans-Regular.otf b/benchcoachproject/static/teamsnap/ig/fonts/ScalaSans-Regular.otf new file mode 100644 index 0000000..3d2fb72 Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/fonts/ScalaSans-Regular.otf differ diff --git a/benchcoachproject/static/teamsnap/ig/fonts/addidas.otf b/benchcoachproject/static/teamsnap/ig/fonts/addidas.otf new file mode 100644 index 0000000..cb23637 Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/fonts/addidas.otf differ diff --git a/benchcoachproject/static/teamsnap/ig/fonts/college.otf b/benchcoachproject/static/teamsnap/ig/fonts/college.otf new file mode 100644 index 0000000..4356a0d Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/fonts/college.otf differ diff --git a/benchcoachproject/static/teamsnap/ig/fonts/college.ttf b/benchcoachproject/static/teamsnap/ig/fonts/college.ttf new file mode 100644 index 0000000..aaea5d1 Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/fonts/college.ttf differ diff --git a/benchcoachproject/static/teamsnap/ig/fonts/din-alt-bold.otf b/benchcoachproject/static/teamsnap/ig/fonts/din-alt-bold.otf new file mode 100644 index 0000000..dd7538d Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/fonts/din-alt-bold.otf differ diff --git a/benchcoachproject/static/teamsnap/ig/fonts/din-cond-bold.otf b/benchcoachproject/static/teamsnap/ig/fonts/din-cond-bold.otf new file mode 100644 index 0000000..9b6cd9d Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/fonts/din-cond-bold.otf differ diff --git a/benchcoachproject/static/teamsnap/ig/fonts/din-pro/DINPro-Black.otf b/benchcoachproject/static/teamsnap/ig/fonts/din-pro/DINPro-Black.otf new file mode 100644 index 0000000..578641d Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/fonts/din-pro/DINPro-Black.otf differ diff --git a/benchcoachproject/static/teamsnap/ig/fonts/din-pro/DINPro-BlackItalic.otf b/benchcoachproject/static/teamsnap/ig/fonts/din-pro/DINPro-BlackItalic.otf new file mode 100644 index 0000000..82b5f18 Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/fonts/din-pro/DINPro-BlackItalic.otf differ diff --git a/benchcoachproject/static/teamsnap/ig/fonts/din-pro/DINPro-Bold.otf b/benchcoachproject/static/teamsnap/ig/fonts/din-pro/DINPro-Bold.otf new file mode 100644 index 0000000..b170223 Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/fonts/din-pro/DINPro-Bold.otf differ diff --git a/benchcoachproject/static/teamsnap/ig/fonts/din-pro/DINPro-BoldItalic.otf b/benchcoachproject/static/teamsnap/ig/fonts/din-pro/DINPro-BoldItalic.otf new file mode 100644 index 0000000..76c99de Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/fonts/din-pro/DINPro-BoldItalic.otf differ diff --git a/benchcoachproject/static/teamsnap/ig/fonts/din-pro/DINPro-Cond.otf b/benchcoachproject/static/teamsnap/ig/fonts/din-pro/DINPro-Cond.otf new file mode 100644 index 0000000..cb581b3 Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/fonts/din-pro/DINPro-Cond.otf differ diff --git a/benchcoachproject/static/teamsnap/ig/fonts/din-pro/DINPro-CondBlack.otf b/benchcoachproject/static/teamsnap/ig/fonts/din-pro/DINPro-CondBlack.otf new file mode 100644 index 0000000..cbcc768 Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/fonts/din-pro/DINPro-CondBlack.otf differ diff --git a/benchcoachproject/static/teamsnap/ig/fonts/din-pro/DINPro-CondBlackIta.otf b/benchcoachproject/static/teamsnap/ig/fonts/din-pro/DINPro-CondBlackIta.otf new file mode 100644 index 0000000..9da8b6b Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/fonts/din-pro/DINPro-CondBlackIta.otf differ diff --git a/benchcoachproject/static/teamsnap/ig/fonts/din-pro/DINPro-CondBold.otf b/benchcoachproject/static/teamsnap/ig/fonts/din-pro/DINPro-CondBold.otf new file mode 100644 index 0000000..81501d5 Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/fonts/din-pro/DINPro-CondBold.otf differ diff --git a/benchcoachproject/static/teamsnap/ig/fonts/din-pro/DINPro-CondBoldIta.otf b/benchcoachproject/static/teamsnap/ig/fonts/din-pro/DINPro-CondBoldIta.otf new file mode 100644 index 0000000..38d7bad Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/fonts/din-pro/DINPro-CondBoldIta.otf differ diff --git a/benchcoachproject/static/teamsnap/ig/fonts/din-pro/DINPro-CondIta.otf b/benchcoachproject/static/teamsnap/ig/fonts/din-pro/DINPro-CondIta.otf new file mode 100644 index 0000000..1e39666 Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/fonts/din-pro/DINPro-CondIta.otf differ diff --git a/benchcoachproject/static/teamsnap/ig/fonts/din-pro/DINPro-CondLight.otf b/benchcoachproject/static/teamsnap/ig/fonts/din-pro/DINPro-CondLight.otf new file mode 100644 index 0000000..7666695 Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/fonts/din-pro/DINPro-CondLight.otf differ diff --git a/benchcoachproject/static/teamsnap/ig/fonts/din-pro/DINPro-CondLightIta.otf b/benchcoachproject/static/teamsnap/ig/fonts/din-pro/DINPro-CondLightIta.otf new file mode 100644 index 0000000..be30b9b Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/fonts/din-pro/DINPro-CondLightIta.otf differ diff --git a/benchcoachproject/static/teamsnap/ig/fonts/din-pro/DINPro-CondMediIta.otf b/benchcoachproject/static/teamsnap/ig/fonts/din-pro/DINPro-CondMediIta.otf new file mode 100644 index 0000000..3596e2c Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/fonts/din-pro/DINPro-CondMediIta.otf differ diff --git a/benchcoachproject/static/teamsnap/ig/fonts/din-pro/DINPro-CondMedium.otf b/benchcoachproject/static/teamsnap/ig/fonts/din-pro/DINPro-CondMedium.otf new file mode 100644 index 0000000..00b38f6 Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/fonts/din-pro/DINPro-CondMedium.otf differ diff --git a/benchcoachproject/static/teamsnap/ig/fonts/din-pro/DINPro-Italic.otf b/benchcoachproject/static/teamsnap/ig/fonts/din-pro/DINPro-Italic.otf new file mode 100644 index 0000000..fa12564 Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/fonts/din-pro/DINPro-Italic.otf differ diff --git a/benchcoachproject/static/teamsnap/ig/fonts/din-pro/DINPro-Light.otf b/benchcoachproject/static/teamsnap/ig/fonts/din-pro/DINPro-Light.otf new file mode 100644 index 0000000..1b8cfbd Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/fonts/din-pro/DINPro-Light.otf differ diff --git a/benchcoachproject/static/teamsnap/ig/fonts/din-pro/DINPro-LightItalic.otf b/benchcoachproject/static/teamsnap/ig/fonts/din-pro/DINPro-LightItalic.otf new file mode 100644 index 0000000..baeefa4 Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/fonts/din-pro/DINPro-LightItalic.otf differ diff --git a/benchcoachproject/static/teamsnap/ig/fonts/din-pro/DINPro-Medium.otf b/benchcoachproject/static/teamsnap/ig/fonts/din-pro/DINPro-Medium.otf new file mode 100644 index 0000000..6f771ab Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/fonts/din-pro/DINPro-Medium.otf differ diff --git a/benchcoachproject/static/teamsnap/ig/fonts/din-pro/DINPro-MediumItalic.otf b/benchcoachproject/static/teamsnap/ig/fonts/din-pro/DINPro-MediumItalic.otf new file mode 100644 index 0000000..151db45 Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/fonts/din-pro/DINPro-MediumItalic.otf differ diff --git a/benchcoachproject/static/teamsnap/ig/fonts/din-pro/DINPro.otf b/benchcoachproject/static/teamsnap/ig/fonts/din-pro/DINPro.otf new file mode 100644 index 0000000..e6e44b1 Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/fonts/din-pro/DINPro.otf differ diff --git a/benchcoachproject/static/teamsnap/ig/fonts/epilogue/Epilogue-Black.ttf b/benchcoachproject/static/teamsnap/ig/fonts/epilogue/Epilogue-Black.ttf new file mode 100644 index 0000000..3d4ad46 Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/fonts/epilogue/Epilogue-Black.ttf differ diff --git a/benchcoachproject/static/teamsnap/ig/fonts/epilogue/Epilogue-BlackItalic.ttf b/benchcoachproject/static/teamsnap/ig/fonts/epilogue/Epilogue-BlackItalic.ttf new file mode 100644 index 0000000..427ee62 Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/fonts/epilogue/Epilogue-BlackItalic.ttf differ diff --git a/benchcoachproject/static/teamsnap/ig/fonts/epilogue/Epilogue-Bold.ttf b/benchcoachproject/static/teamsnap/ig/fonts/epilogue/Epilogue-Bold.ttf new file mode 100644 index 0000000..cdd74d6 Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/fonts/epilogue/Epilogue-Bold.ttf differ diff --git a/benchcoachproject/static/teamsnap/ig/fonts/epilogue/Epilogue-BoldItalic.ttf b/benchcoachproject/static/teamsnap/ig/fonts/epilogue/Epilogue-BoldItalic.ttf new file mode 100644 index 0000000..6def85f Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/fonts/epilogue/Epilogue-BoldItalic.ttf differ diff --git a/benchcoachproject/static/teamsnap/ig/fonts/epilogue/Epilogue-ExtraBold.ttf b/benchcoachproject/static/teamsnap/ig/fonts/epilogue/Epilogue-ExtraBold.ttf new file mode 100644 index 0000000..f0ac762 Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/fonts/epilogue/Epilogue-ExtraBold.ttf differ diff --git a/benchcoachproject/static/teamsnap/ig/fonts/epilogue/Epilogue-ExtraBoldItalic.ttf b/benchcoachproject/static/teamsnap/ig/fonts/epilogue/Epilogue-ExtraBoldItalic.ttf new file mode 100644 index 0000000..3b5d878 Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/fonts/epilogue/Epilogue-ExtraBoldItalic.ttf differ diff --git a/benchcoachproject/static/teamsnap/ig/fonts/epilogue/Epilogue-ExtraLight.ttf b/benchcoachproject/static/teamsnap/ig/fonts/epilogue/Epilogue-ExtraLight.ttf new file mode 100644 index 0000000..7038cb7 Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/fonts/epilogue/Epilogue-ExtraLight.ttf differ diff --git a/benchcoachproject/static/teamsnap/ig/fonts/epilogue/Epilogue-ExtraLightItalic.ttf b/benchcoachproject/static/teamsnap/ig/fonts/epilogue/Epilogue-ExtraLightItalic.ttf new file mode 100644 index 0000000..1fc2b0a Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/fonts/epilogue/Epilogue-ExtraLightItalic.ttf differ diff --git a/benchcoachproject/static/teamsnap/ig/fonts/epilogue/Epilogue-Italic.ttf b/benchcoachproject/static/teamsnap/ig/fonts/epilogue/Epilogue-Italic.ttf new file mode 100644 index 0000000..781c033 Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/fonts/epilogue/Epilogue-Italic.ttf differ diff --git a/benchcoachproject/static/teamsnap/ig/fonts/epilogue/Epilogue-Light.ttf b/benchcoachproject/static/teamsnap/ig/fonts/epilogue/Epilogue-Light.ttf new file mode 100644 index 0000000..f4e963a Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/fonts/epilogue/Epilogue-Light.ttf differ diff --git a/benchcoachproject/static/teamsnap/ig/fonts/epilogue/Epilogue-LightItalic.ttf b/benchcoachproject/static/teamsnap/ig/fonts/epilogue/Epilogue-LightItalic.ttf new file mode 100644 index 0000000..1a9f181 Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/fonts/epilogue/Epilogue-LightItalic.ttf differ diff --git a/benchcoachproject/static/teamsnap/ig/fonts/epilogue/Epilogue-Medium.ttf b/benchcoachproject/static/teamsnap/ig/fonts/epilogue/Epilogue-Medium.ttf new file mode 100644 index 0000000..86adf15 Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/fonts/epilogue/Epilogue-Medium.ttf differ diff --git a/benchcoachproject/static/teamsnap/ig/fonts/epilogue/Epilogue-MediumItalic.ttf b/benchcoachproject/static/teamsnap/ig/fonts/epilogue/Epilogue-MediumItalic.ttf new file mode 100644 index 0000000..78ba8a1 Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/fonts/epilogue/Epilogue-MediumItalic.ttf differ diff --git a/benchcoachproject/static/teamsnap/ig/fonts/epilogue/Epilogue-Regular.ttf b/benchcoachproject/static/teamsnap/ig/fonts/epilogue/Epilogue-Regular.ttf new file mode 100644 index 0000000..262d4c8 Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/fonts/epilogue/Epilogue-Regular.ttf differ diff --git a/benchcoachproject/static/teamsnap/ig/fonts/epilogue/Epilogue-SemiBold.ttf b/benchcoachproject/static/teamsnap/ig/fonts/epilogue/Epilogue-SemiBold.ttf new file mode 100644 index 0000000..41de5e7 Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/fonts/epilogue/Epilogue-SemiBold.ttf differ diff --git a/benchcoachproject/static/teamsnap/ig/fonts/epilogue/Epilogue-SemiBoldItalic.ttf b/benchcoachproject/static/teamsnap/ig/fonts/epilogue/Epilogue-SemiBoldItalic.ttf new file mode 100644 index 0000000..a49cf13 Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/fonts/epilogue/Epilogue-SemiBoldItalic.ttf differ diff --git a/benchcoachproject/static/teamsnap/ig/fonts/epilogue/Epilogue-Thin.ttf b/benchcoachproject/static/teamsnap/ig/fonts/epilogue/Epilogue-Thin.ttf new file mode 100644 index 0000000..1ada722 Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/fonts/epilogue/Epilogue-Thin.ttf differ diff --git a/benchcoachproject/static/teamsnap/ig/fonts/epilogue/Epilogue-ThinItalic.ttf b/benchcoachproject/static/teamsnap/ig/fonts/epilogue/Epilogue-ThinItalic.ttf new file mode 100644 index 0000000..8fe60e5 Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/fonts/epilogue/Epilogue-ThinItalic.ttf differ diff --git a/benchcoachproject/static/teamsnap/ig/fonts/marker.ttf b/benchcoachproject/static/teamsnap/ig/fonts/marker.ttf new file mode 100644 index 0000000..8052508 Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/fonts/marker.ttf differ diff --git a/benchcoachproject/static/teamsnap/ig/fonts/refrigerator/refrigerator-deluxe-bold.otf b/benchcoachproject/static/teamsnap/ig/fonts/refrigerator/refrigerator-deluxe-bold.otf new file mode 100644 index 0000000..6a9132a Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/fonts/refrigerator/refrigerator-deluxe-bold.otf differ diff --git a/benchcoachproject/static/teamsnap/ig/fonts/refrigerator/refrigerator-deluxe-extrabold.otf b/benchcoachproject/static/teamsnap/ig/fonts/refrigerator/refrigerator-deluxe-extrabold.otf new file mode 100644 index 0000000..ab65e2d Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/fonts/refrigerator/refrigerator-deluxe-extrabold.otf differ diff --git a/benchcoachproject/static/teamsnap/ig/fonts/refrigerator/refrigerator-deluxe-heavy.otf b/benchcoachproject/static/teamsnap/ig/fonts/refrigerator/refrigerator-deluxe-heavy.otf new file mode 100644 index 0000000..8d2864f Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/fonts/refrigerator/refrigerator-deluxe-heavy.otf differ diff --git a/benchcoachproject/static/teamsnap/ig/fonts/refrigerator/refrigerator-deluxe-light.otf b/benchcoachproject/static/teamsnap/ig/fonts/refrigerator/refrigerator-deluxe-light.otf new file mode 100644 index 0000000..7c31975 Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/fonts/refrigerator/refrigerator-deluxe-light.otf differ diff --git a/benchcoachproject/static/teamsnap/ig/fonts/refrigerator/refrigerator-deluxe.otf b/benchcoachproject/static/teamsnap/ig/fonts/refrigerator/refrigerator-deluxe.otf new file mode 100644 index 0000000..1988e34 Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/fonts/refrigerator/refrigerator-deluxe.otf differ diff --git a/benchcoachproject/static/teamsnap/ig/fonts/superstar.ttf b/benchcoachproject/static/teamsnap/ig/fonts/superstar.ttf new file mode 100644 index 0000000..09684f6 Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/fonts/superstar.ttf differ diff --git a/benchcoachproject/static/teamsnap/ig/graphics/sign-green.png b/benchcoachproject/static/teamsnap/ig/graphics/sign-green.png new file mode 100644 index 0000000..0de83af Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/graphics/sign-green.png differ diff --git a/benchcoachproject/static/teamsnap/ig/graphics/sign-tan.png b/benchcoachproject/static/teamsnap/ig/graphics/sign-tan.png new file mode 100644 index 0000000..32c96d7 Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/graphics/sign-tan.png differ diff --git a/benchcoachproject/static/teamsnap/ig/graphics/team.png b/benchcoachproject/static/teamsnap/ig/graphics/team.png new file mode 100644 index 0000000..9c377d8 Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/graphics/team.png differ diff --git a/benchcoachproject/static/teamsnap/ig/locations/maywoodpark.png b/benchcoachproject/static/teamsnap/ig/locations/maywoodpark.png new file mode 100644 index 0000000..1d8ee38 Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/locations/maywoodpark.png differ diff --git a/benchcoachproject/static/teamsnap/ig/locations/simeonhs.png b/benchcoachproject/static/teamsnap/ig/locations/simeonhs.png new file mode 100644 index 0000000..f58ca4a Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/locations/simeonhs.png differ diff --git a/benchcoachproject/static/teamsnap/ig/locations/southwestpark.png b/benchcoachproject/static/teamsnap/ig/locations/southwestpark.png new file mode 100644 index 0000000..37b7df0 Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/locations/southwestpark.png differ diff --git a/benchcoachproject/static/teamsnap/ig/locations/waltherchristianacademy.png b/benchcoachproject/static/teamsnap/ig/locations/waltherchristianacademy.png new file mode 100644 index 0000000..7defd8e Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/locations/waltherchristianacademy.png differ diff --git a/benchcoachproject/static/teamsnap/ig/locations/winnemacpark.png b/benchcoachproject/static/teamsnap/ig/locations/winnemacpark.png new file mode 100644 index 0000000..319c6d1 Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/locations/winnemacpark.png differ diff --git a/benchcoachproject/static/teamsnap/ig/logos-bw/aviators.png b/benchcoachproject/static/teamsnap/ig/logos-bw/aviators.png new file mode 100644 index 0000000..51810da Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/logos-bw/aviators.png differ diff --git a/benchcoachproject/static/teamsnap/ig/logos-bw/blazers.png b/benchcoachproject/static/teamsnap/ig/logos-bw/blazers.png new file mode 100644 index 0000000..f0d742e Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/logos-bw/blazers.png differ diff --git a/benchcoachproject/static/teamsnap/ig/logos-bw/browns.png b/benchcoachproject/static/teamsnap/ig/logos-bw/browns.png new file mode 100644 index 0000000..5ecc09d Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/logos-bw/browns.png differ diff --git a/benchcoachproject/static/teamsnap/ig/logos-bw/degeneratex.png b/benchcoachproject/static/teamsnap/ig/logos-bw/degeneratex.png new file mode 100644 index 0000000..e6b4986 Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/logos-bw/degeneratex.png differ diff --git a/benchcoachproject/static/teamsnap/ig/logos-bw/dodgers.png b/benchcoachproject/static/teamsnap/ig/logos-bw/dodgers.png new file mode 100644 index 0000000..9e7f2e8 Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/logos-bw/dodgers.png differ diff --git a/benchcoachproject/static/teamsnap/ig/logos-bw/electrons.png b/benchcoachproject/static/teamsnap/ig/logos-bw/electrons.png new file mode 100644 index 0000000..1b4e72a Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/logos-bw/electrons.png differ diff --git a/benchcoachproject/static/teamsnap/ig/logos-bw/hounds.png b/benchcoachproject/static/teamsnap/ig/logos-bw/hounds.png new file mode 100644 index 0000000..177625f Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/logos-bw/hounds.png differ diff --git a/benchcoachproject/static/teamsnap/ig/logos-bw/marlins.png b/benchcoachproject/static/teamsnap/ig/logos-bw/marlins.png new file mode 100644 index 0000000..08f7f7f Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/logos-bw/marlins.png differ diff --git a/benchcoachproject/static/teamsnap/ig/logos-bw/orioles.png b/benchcoachproject/static/teamsnap/ig/logos-bw/orioles.png new file mode 100644 index 0000000..fdca62a Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/logos-bw/orioles.png differ diff --git a/benchcoachproject/static/teamsnap/ig/logos-bw/pirates.png b/benchcoachproject/static/teamsnap/ig/logos-bw/pirates.png new file mode 100644 index 0000000..f2f2a4b Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/logos-bw/pirates.png differ diff --git a/benchcoachproject/static/teamsnap/ig/logos-bw/redsox.png b/benchcoachproject/static/teamsnap/ig/logos-bw/redsox.png new file mode 100644 index 0000000..6bd8e3c Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/logos-bw/redsox.png differ diff --git a/benchcoachproject/static/teamsnap/ig/logos-bw/trojans.png b/benchcoachproject/static/teamsnap/ig/logos-bw/trojans.png new file mode 100644 index 0000000..7f2789d Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/logos-bw/trojans.png differ diff --git a/benchcoachproject/static/teamsnap/ig/logos-bw/vikings.png b/benchcoachproject/static/teamsnap/ig/logos-bw/vikings.png new file mode 100644 index 0000000..74cdb4e Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/logos-bw/vikings.png differ diff --git a/benchcoachproject/static/teamsnap/ig/logos-bw/whitesox.png b/benchcoachproject/static/teamsnap/ig/logos-bw/whitesox.png new file mode 100644 index 0000000..db7ea2b Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/logos-bw/whitesox.png differ diff --git a/benchcoachproject/static/teamsnap/ig/logos-bw/yankees.png b/benchcoachproject/static/teamsnap/ig/logos-bw/yankees.png new file mode 100644 index 0000000..f6820ee Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/logos-bw/yankees.png differ diff --git a/benchcoachproject/static/teamsnap/ig/logos/aviators.png b/benchcoachproject/static/teamsnap/ig/logos/aviators.png new file mode 100644 index 0000000..e6a9375 Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/logos/aviators.png differ diff --git a/benchcoachproject/static/teamsnap/ig/logos/blazers.png b/benchcoachproject/static/teamsnap/ig/logos/blazers.png new file mode 100644 index 0000000..ffab4cb Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/logos/blazers.png differ diff --git a/benchcoachproject/static/teamsnap/ig/logos/browns.png b/benchcoachproject/static/teamsnap/ig/logos/browns.png new file mode 100644 index 0000000..9031d7f Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/logos/browns.png differ diff --git a/benchcoachproject/static/teamsnap/ig/logos/degeneratex.png b/benchcoachproject/static/teamsnap/ig/logos/degeneratex.png new file mode 100644 index 0000000..18d8a0a Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/logos/degeneratex.png differ diff --git a/benchcoachproject/static/teamsnap/ig/logos/dodgers.png b/benchcoachproject/static/teamsnap/ig/logos/dodgers.png new file mode 100644 index 0000000..f046a83 Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/logos/dodgers.png differ diff --git a/benchcoachproject/static/teamsnap/ig/logos/electrons.png b/benchcoachproject/static/teamsnap/ig/logos/electrons.png new file mode 100644 index 0000000..db9d5d8 Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/logos/electrons.png differ diff --git a/benchcoachproject/static/teamsnap/ig/logos/hounds.png b/benchcoachproject/static/teamsnap/ig/logos/hounds.png new file mode 100644 index 0000000..2ed7346 Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/logos/hounds.png differ diff --git a/benchcoachproject/static/teamsnap/ig/logos/marlins.png b/benchcoachproject/static/teamsnap/ig/logos/marlins.png new file mode 100644 index 0000000..6c47f92 Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/logos/marlins.png differ diff --git a/benchcoachproject/static/teamsnap/ig/logos/orioles.png b/benchcoachproject/static/teamsnap/ig/logos/orioles.png new file mode 100644 index 0000000..4bca938 Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/logos/orioles.png differ diff --git a/benchcoachproject/static/teamsnap/ig/logos/pirates.png b/benchcoachproject/static/teamsnap/ig/logos/pirates.png new file mode 100644 index 0000000..55978e7 Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/logos/pirates.png differ diff --git a/benchcoachproject/static/teamsnap/ig/logos/redsox.png b/benchcoachproject/static/teamsnap/ig/logos/redsox.png new file mode 100644 index 0000000..ac6af19 Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/logos/redsox.png differ diff --git a/benchcoachproject/static/teamsnap/ig/logos/trojans.png b/benchcoachproject/static/teamsnap/ig/logos/trojans.png new file mode 100644 index 0000000..3da4e66 Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/logos/trojans.png differ diff --git a/benchcoachproject/static/teamsnap/ig/logos/vikings.png b/benchcoachproject/static/teamsnap/ig/logos/vikings.png new file mode 100644 index 0000000..105f27b Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/logos/vikings.png differ diff --git a/benchcoachproject/static/teamsnap/ig/logos/whitesox.png b/benchcoachproject/static/teamsnap/ig/logos/whitesox.png new file mode 100644 index 0000000..dfa0375 Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/logos/whitesox.png differ diff --git a/benchcoachproject/static/teamsnap/ig/logos/yankees.png b/benchcoachproject/static/teamsnap/ig/logos/yankees.png new file mode 100644 index 0000000..89b77db Binary files /dev/null and b/benchcoachproject/static/teamsnap/ig/logos/yankees.png differ diff --git a/benchcoachproject/static/teamsnap/js/lineup-table.js b/benchcoachproject/static/teamsnap/js/lineup-table.js index 0c39e29..de74691 100644 --- a/benchcoachproject/static/teamsnap/js/lineup-table.js +++ b/benchcoachproject/static/teamsnap/js/lineup-table.js @@ -33,39 +33,46 @@ function positionSelectChanged(elem) { } } -function colorPositions(){ - var player_rows = []; - player_rows.push.apply(player_rows, document.getElementById('table-players-lineup').querySelectorAll('tr')); - player_rows.push.apply(player_rows, document.getElementById('table-players-bench').querySelectorAll('tr')); - var label_value_array = [] - player_rows.forEach(function (player_row, index){ - console.dir(player_row) - if (player_row.querySelector('[name$="label"]')){ - console.dir(player_row.querySelector('select[name$="label"]')) - console.dir(player_row.querySelector('select[name$="label"]').value) - label_value_array.push( - player_row.querySelector('select[name$="label"]').value) - } +function colorPositions() { + for (bcLineup of document.getElementsByClassName("benchcoach-lineup")) { + var player_rows = bcLineup.querySelectorAll('tr'); + // player_rows.push.apply(player_rows, document.getElementsByClassName('benchcoach-lineup').querySelectorAll('tr')); + // player_rows.push.apply(player_rows, document.getElementsByClassName('benchcoach-bench').querySelectorAll('tr')); + var label_value_array = [] + player_rows.forEach(function (player_row, index) { + if (player_row.querySelector('[name$="label"]')) { + label_value_array.push( + player_row.querySelector('select[name$="label"]').value) + } + } + ) + bcLineup.querySelectorAll('[id^="position-status"]').forEach(function (position_status, index) { + if (label_value_array.includes(position_status.innerHTML)) { + if (position_status.classList.contains("text-danger")) { + position_status.classList.remove('text-danger') + } + position_status.classList.add('text-success') + } else { + if (position_status.classList.contains("text-success")) { + position_status.classList.remove('text-success') + } + position_status.classList.add('text-danger') + } + // console.dir(position_status) + }) + // console.dir(label_value_array) } - ) - document.querySelectorAll('[id^="position-status"]').forEach(function(position_status,index){ - if (label_value_array.includes(position_status.innerHTML)){ - if (position_status.classList.contains("text-danger")){ - position_status.classList.remove('text-danger') - } - position_status.classList.add('text-success') - } else { - if (position_status.classList.contains("text-success")){ - position_status.classList.remove('text-success') - } - position_status.classList.add('text-danger') - } - }) - console.dir(label_value_array) } -function refresh_lineup_order (){ - var player_rows = document.getElementById('table-players-lineup').querySelectorAll('tr') +function refresh_lineup_order (itemEl){ + let bcLineup = itemEl.closest(".benchcoach-lineup") + var player_rows = [] + for (tbody of bcLineup.querySelectorAll("[class*='tbody-benchcoach-starting']")){ + for (row of tbody.rows){ + player_rows.push(row) + } + } + for (let i = 0; i < player_rows.length; i++) { var player_order = player_rows[i].querySelector('[id^="sequence"]') var form_element_order = player_rows[i].querySelector('[id$="sequence"]') @@ -74,9 +81,9 @@ function refresh_lineup_order (){ form_element_order.value = i player_order.innerHTML = i+1 } - var player_rows = document.getElementById('table-players-bench').querySelectorAll('tr') + var player_rows = bcLineup.getElementsByClassName("tbody-benchcoach-bench")[0].rows for (let i = 0; i < player_rows.length; i++) { - var player_order = player_rows[i].querySelector('[id^="player-order"]') + var player_order = player_rows[i].querySelector('[id^="sequence"]') var form_element_order = player_rows[i].querySelector('[id$="sequence"]') player_rows[i].dataset.order = null form_element_order.value = null @@ -84,54 +91,454 @@ function refresh_lineup_order (){ } } -var lineup = new Sortable.create( - document.getElementById('tbody-players-lineup'), { - animation: 150, - handle: ".drag-handle", - ghostClass:"ghost", - group:{ - put:true, - pull:true - }, - onAdd: function (/**Event*/evt) { - // Add to Lineup - var itemEl = evt.item; // dragged HTMLElement - var player_order = itemEl.querySelector('[id^="sequence-member"]') - var player_available =itemEl.querySelector('[class^="member-availability-status"]') - refresh_lineup_order() - if (player_order.classList.contains('d-none')){ - player_order.classList.remove('d-none') - } - // player_available.classList.add('d-none') - }, - onUpdate: function (/**Event*/evt) { - console.log('update to lineup') - var itemEl = evt.item; // dragged HTMLElement - refresh_lineup_order() - }, - }); +function sendToClipboard(itemEl){ + let bcLineup = itemEl.closest(".benchcoach-lineup") + player_rows = bcLineup.querySelectorAll("[data-position=P]") + lineup_export = [] + if (player_rows.length > 0){ + lineup_export.push(player_rows[0].dataset.playerName) + lineup_export.push("","") + } else { + lineup_export.push("","","") + } -var bench = new Sortable.create( - document.getElementById('tbody-players-bench'), { - animation: 150, - ghostClass:"ghost", - sort: false, - handle: ".drag-handle", -// handle: ".bars-move", - group:{ - put:true, - pull:true - }, - onAdd: function (/**Event*/evt) { - var itemEl = evt.item; // dragged HTMLElement - var player_order = itemEl.querySelector('[id^="sequence-member"]') - var player_available =itemEl.querySelector('[class^="member-availability-status"]') - refresh_lineup_order() - // player_order.classList.add('d-none') - if (player_order.classList.contains('d-none')){ - player_available.classList.remove('d-none') + lineup_export.push("") + for (position of [ + 'C', + '1B', + '2B', + '3B', + 'SS', + 'LF', + 'CF', + 'RF', + 'DH', + ] + ) { + var player_rows = bcLineup.querySelectorAll(`[data-position=${CSS.escape(position)}]`) + if (player_rows.length > 0){ + lineup_export.push(player_rows[0].dataset.playerName) + } else { + lineup_export.push('') + } + } + for (position of [ + 'EH', + ] + ) { + var player_rows = bcLineup.querySelectorAll(`[data-position=${CSS.escape(position)}]`) + for (var i = 0; i < 2; i++) { + if (i < player_rows.length){ + lineup_export.push(player_rows[i].dataset.playerName) + } else { + lineup_export.push("") } } - }); + } + + for (position of [ + 'DR', + ] + ) { + let player_rows = bcLineup.querySelectorAll(`[data-position=${CSS.escape(position)}]`) + if (player_rows.length > 0){ + lineup_export.push(player_rows[0].dataset.playerName) + } else { + lineup_export.push('') + } + } + + lineup_export.push("") + lineup_export.push("","") + lineup_export.push("") + + for (var i = 0; i < 11; i++) { + let player_rows = bcLineup.querySelectorAll(`[data-order=${CSS.escape(i)}]`) + if (player_rows.length > 0){ + lineup_export.push(player_rows[0].dataset.playerName) + } else { + lineup_export.push("") + } + } + + console.dir(lineup_export) + var textArea = document.createElement("textarea"); + textArea.value = lineup_export.join("\n"); + + // Avoid scrolling to bottom + textArea.style.top = "0"; + textArea.style.left = "0"; + textArea.style.position = "fixed"; + + document.body.appendChild(textArea); + textArea.focus(); + textArea.select(); + + try { + var successful = document.execCommand('copy'); + var msg = successful ? 'successful' : 'unsuccessful'; + console.log('Copying text command was ' + msg); + } catch (err) { + console.error('Oops, unable to copy', err); + } + + document.body.removeChild(textArea); + +} + +benchcoach_lineups = document.getElementsByClassName("benchcoach-lineup") +for (bcLineup of document.getElementsByClassName("benchcoach-lineup")) { + var startinglineup = new Sortable.create( + bcLineup.getElementsByClassName("tbody-benchcoach-startinglineup")[0], { + animation: 150, + handle: ".drag-handle", + ghostClass:"ghost", + group:{ + name:bcLineup.id, + put:[bcLineup.id], + pull:[bcLineup.id] + }, + onAdd: function (/**Event*/evt) { + // Add to Lineup + var itemEl = evt.item; // dragged HTMLElement + var player_order = itemEl.querySelector('[id^="sequence-member"]') + var player_available =itemEl.querySelector('[class^="member-availability-status"]') + refresh_lineup_order(itemEl) + if (player_order.classList.contains('d-none')){ + player_order.classList.remove('d-none') + } + // player_available.classList.add('d-none') + }, + onUpdate: function (/**Event*/evt) { + console.log('update to lineup') + var itemEl = evt.item; // dragged HTMLElement + refresh_lineup_order(itemEl) + }, + }); + + var bench = new Sortable.create( + bcLineup.getElementsByClassName("tbody-benchcoach-bench")[0], { + animation: 150, + ghostClass:"ghost", + sort: false, + handle: ".drag-handle", +// handle: ".bars-move", + group:{ + name:bcLineup.id, + put:[bcLineup.id], + pull:[bcLineup.id] + }, + onAdd: function (/**Event*/evt) { + var itemEl = evt.item; // dragged HTMLElement + var player_order = itemEl.querySelector('[id^="sequence-member"]') + var player_available =itemEl.querySelector('[class^="member-availability-status"]') + refresh_lineup_order(itemEl) + // player_order.classList.add('d-none') + if (player_order.classList.contains('d-none')){ + player_available.classList.remove('d-none') + } + } + }); + + var positionalonlylineup = new Sortable.create( + bcLineup.getElementsByClassName("tbody-benchcoach-startingpositionalonly")[0], { + group:{ + name:bcLineup.id, + put:[bcLineup.id], + pull:[bcLineup.id] + }, + onAdd: function (/**Event*/evt) { + var itemEl = evt.item; // dragged HTMLElement + var player_order = itemEl.querySelector('[id^="sequence-member"]') + var position_only = itemEl.querySelector('[id$="position_only"]') + position_only.value = true + var player_available =itemEl.querySelector('[class^="member-availability-status"]') + refresh_lineup_order(itemEl) + // player_order.classList.add('d-none') + if (player_order.classList.contains('d-none')){ + player_available.classList.remove('d-none') + } + }, + onRemove: function (/**Event*/evt) { + var itemEl = evt.item; // dragged HTMLElement + var player_order = itemEl.querySelector('[id^="sequence-member"]') + var player_available =itemEl.querySelector('[class^="member-availability-status"]') + var position_only = itemEl.querySelector('[id$="position_only"]') + position_only.value = false + + if (player_order.classList.contains('d-none')){ + player_available.classList.remove('d-none') + } + }, + onUpdate: function (/**Event*/evt) { + var itemEl = evt.item; // dragged HTMLElement + refresh_lineup_order(itemEl) + }, + } + + ) +} + +function copyEmailTable(itemEl, subject, recipients){ + // Create container for the HTML + // [1] + let bcLineup = itemEl.closest(".benchcoach-lineup") + var container = document.createElement('div') + var tbl = document.createElement('table') + + let thead = tbl.createTHead() + let thead_row = thead.insertRow() + let thead_row_cell = thead_row.insertCell() + thead_row_cell.appendChild(document.createElement("h3").appendChild(document.createTextNode("STARTING LINEUP"))) + thead_row_cell.colSpan=3; + thead_row_cell.classList.add('title-cell') + var tbody = tbl.createTBody() + for (row of bcLineup.querySelector(".table-benchcoach-startinglineup").rows) { + let tr = tbody.insertRow() + cell = tr.insertCell() + cell.classList.add('sequence-cell') + cell.appendChild(document.createTextNode((parseInt(row.dataset.order) + 1))) + cell = tr.insertCell() + cell.appendChild(document.createTextNode(row.dataset.playerName)) + cell.classList.add('name-cell') + tr.insertCell().appendChild(document.createTextNode(row.dataset.position)) + } + + if (bcLineup.querySelector('.table-benchcoach-startingpositionalonly').rows.length > 0) { + var tr = tbody.insertRow() + cell = tr.insertCell() + cell.colSpan=3 + cell.appendChild(document.createTextNode("STARTING (POS. ONLY)")) + cell.classList.add('title-cell') + + for (row of bcLineup.querySelector('.table-benchcoach-startingpositionalonly').rows) { + var tr = tbody.insertRow() + cell = tr.insertCell() + cell.classList.add('sequence-cell') + cell.appendChild(document.createTextNode("")) + cell=tr.insertCell() + cell.appendChild(document.createTextNode(row.dataset.playerName)) + cell.classList.add('name-cell') + tr.insertCell().appendChild(document.createTextNode(row.dataset.position)) + } + } + + if (bcLineup.querySelector('.table-benchcoach-bench').rows.length > 0) { + var tr = tbody.insertRow() + cell = tr.insertCell() + cell.colSpan=3 + cell.appendChild(document.createTextNode("SUBS")) + cell.classList.add('title-cell') + + for (row of bcLineup.querySelector('.table-benchcoach-bench').rows) { + var tr = tbody.insertRow() + cell = tr.insertCell() + cell.classList.add('sequence-cell') + availability_status = { + None: "UNK", + "0": "NO", + "2": "MAY", + "1":"YES" + }[row.dataset.availabilityStatuscode] + cell.appendChild(document.createTextNode(availability_status)) + cell=tr.insertCell() + cell.appendChild(document.createTextNode(row.dataset.playerName)) + cell.classList.add('name-cell') + tr.insertCell().appendChild(document.createTextNode("")) + } + } + + if (bcLineup.querySelector('.table-benchcoach-out').rows.length > 0) { + var tr = tbody.insertRow() + cell = tr.insertCell() + cell.colSpan=3 + cell.appendChild(document.createTextNode("OUT")) + cell.classList.add('title-cell') + + for (row of bcLineup.querySelector('.table-benchcoach-out').rows) { + var tr = tbody.insertRow() + cell = tr.insertCell() + cell.classList.add('sequence-cell') + availability_status = { + "None": "UNK", + "0": "NO", + "1": "MAY", + "2":"YES" + }[row.dataset.availabilityStatuscode] + cell.appendChild(document.createTextNode(availability_status)) + tr.insertCell().appendChild(document.createTextNode(row.dataset.playerName)) + tr.insertCell().appendChild(document.createTextNode("")) + } + } + + container.appendChild(tbl) + for (cell of container.getElementsByClassName('title-cell')){ + cell.setAttribute ( + "style", + "font-weight:bold;background-color:#323669;color:#fff;padding:2px 5px;" + )} + + for (cell of container.getElementsByClassName('sequence-cell')){ + cell.setAttribute ( + "style", + "font-weight:bold;padding:2px 5px;" + )} + + for (cell of container.getElementsByClassName('name-cell')){ + cell.setAttribute ( + "style", + "width:200px;" + )} + + // Detect all style sheets of the page + var activeSheets = Array.prototype.slice.call(document.styleSheets) + .filter(function (sheet) { + return !sheet.disabled + }) + + // Mount the container to the DOM to make `contentWindow` available + // [3] + document.body.appendChild(container) + + // Copy to clipboard + // [4] + window.getSelection().removeAllRanges() + + var range = document.createRange() + range.selectNode(container) + window.getSelection().addRange(range) + + // [5.1] + document.execCommand('copy') + + // [5.2] + for (var i = 0; i < activeSheets.length; i++) activeSheets[i].disabled = true + + // [5.3] + // document.execCommand('copy') + + // [5.4] + for (var i = 0; i < activeSheets.length; i++) activeSheets[i].disabled = false + + // Remove the container + // [6] + document.body.removeChild(container) + subject_encoded = encodeURIComponent(subject) + window.open("readdle-spark://compose?recipient=manager@chihounds.com&subject="+subject+"&bcc="+recipients) +} + +function copyHtmlTable(itemEl){ + // Create container for the HTML + // [1] + var container = document.createElement('div') + let bcLineup = itemEl.closest(".benchcoach-lineup") + // container.appendChild(bcLineup.cloneNode(true)) + // console.dir(container) + container.tab + container.appendChild(bcLineup.querySelector('.table-benchcoach-startinglineup').cloneNode(false)) + header_row = container.querySelector(".table-benchcoach-startinglineup").insertRow(0); + header_row_cell = header_row.insertCell(0); + header_row_cell.colSpan=5; + header_row_cell.innerHTML = "STARTING LINEUP"; + + for (r of bcLineup.querySelector('.table-benchcoach-startinglineup').rows){ + new_row = r.cloneNode(true) + container.querySelector(".table-benchcoach-startinglineup").appendChild(new_row) + for (s of new_row.querySelectorAll("span")){ + s.classList.remove('d-none') + } + } + + if (bcLineup.querySelector('.table-benchcoach-startingpositionalonly').rows.length > 0){ + header_row = container.querySelector(".table-benchcoach-startingpositionalonly").insertRow() + header_row_cell = header_row.insertCell(0) + header_row_cell.colSpan=5 + header_row_cell.innerHTML = "POSITIONAL ONLY" + + for (r of bcLineup.querySelector('.table-benchcoach-startingpositionalonly').rows){ + for (s of r.querySelectorAll("span")){ + console.dir(r) + s.classList.remove('d-none') + } + new_row = container.querySelector(".table-benchcoach-startinglineup").insertRow() + new_row.outerHTML = r.outerHTML + } + } + + header_row = container.querySelector(".table-benchcoach-startinglineup").insertRow() + header_row_cell = header_row.insertCell(0) + header_row_cell.colSpan=5 + header_row_cell.innerHTML = "SUBS" + + for (row of bcLineup.querySelector('.table-benchcoach-bench').rows){ + for (s of row.querySelectorAll("span")){ + s.classList.remove('d-none') + } + new_row = container.querySelector(".table-benchcoach-startinglineup").insertRow() + new_row.outerHTML = row.outerHTML + } + + header_row = container.querySelector(".table-benchcoach-startinglineup").insertRow() + header_row_cell = header_row.insertCell(0) + header_row_cell.colSpan=5 + header_row_cell.innerHTML = "OUT" + + for (r of bcLineup.querySelector('.table-benchcoach-out').rows){ + new_row = container.querySelector(".table-benchcoach-startinglineup").insertRow() + new_row.outerHTML = r.outerHTML + } + + console.dir(container) + // container.hidden = true + for (f of container.querySelectorAll(".lineup-label-form")){ + // f.firstElementChild.hidden = true + f.innerHTML = f.firstElementChild.options[f.firstElementChild.selectedIndex].value + } + for (f of container.querySelectorAll(".position-status")){ + f.remove() + } + // container.querySelectorAll(".lineup-label-form").firstElementChild.hidden = true + + // Hide element + // [2] + container.style.position = 'fixed' + container.style.pointerEvents = 'none' + container.style.opacity = 0 + + // Detect all style sheets of the page + var activeSheets = Array.prototype.slice.call(document.styleSheets) + .filter(function (sheet) { + return !sheet.disabled + }) + + // Mount the container to the DOM to make `contentWindow` available + // [3] + document.body.appendChild(container) + + // Copy to clipboard + // [4] + window.getSelection().removeAllRanges() + + var range = document.createRange() + range.selectNode(container) + window.getSelection().addRange(range) + + // [5.1] + document.execCommand('copy') + + // [5.2] + for (var i = 0; i < activeSheets.length; i++) activeSheets[i].disabled = true + + // [5.3] + // document.execCommand('copy') + + // [5.4] + for (var i = 0; i < activeSheets.length; i++) activeSheets[i].disabled = false + + // Remove the container + // [6] + document.body.removeChild(container) +} + //xxx colorPositions() \ No newline at end of file diff --git a/teamsnap/forms.py b/teamsnap/forms.py index ce062af..cbc39a4 100644 --- a/teamsnap/forms.py +++ b/teamsnap/forms.py @@ -83,9 +83,10 @@ class LineupEntryForm(forms.Form): event_lineup_id = forms.Field(required=False) event_id = forms.Field() member_id = forms.Field() + position_only = forms.BooleanField(initial=False, required=False) sequence = forms.IntegerField(required=False) label = forms.ChoiceField(required=False, choices=[ - ("--", "--"), + ("", "--"), ("P","P"), ("C","C"), ("1B","1B"), diff --git a/teamsnap/migrations/0010_merge_20220506_1031.py b/teamsnap/migrations/0010_merge_20220506_1031.py new file mode 100644 index 0000000..ee8518f --- /dev/null +++ b/teamsnap/migrations/0010_merge_20220506_1031.py @@ -0,0 +1,14 @@ +# Generated by Django 3.2.6 on 2022-05-06 15:31 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('teamsnap', '0005_auto_20211224_1042'), + ('teamsnap', '0009_alter_availability_status_code'), + ] + + operations = [ + ] diff --git a/teamsnap/templates/teamsnap/lineup/edit.html b/teamsnap/templates/teamsnap/lineup/edit.html index 33c12b8..dbcdbaa 100644 --- a/teamsnap/templates/teamsnap/lineup/edit.html +++ b/teamsnap/templates/teamsnap/lineup/edit.html @@ -1,12 +1,10 @@ {% extends "base.html" %}{% load static %} -{% block title %} {{ event.data.formatted_title }}{% endblock %} -{% block page_heading %}{{ event.data.formatted_title }}{% endblock %} -{% block page_subheading %}{{ event.data.start_date }}, {{ event.data.location_name }}{% endblock %} +{#{% block title %} {{ event.data.formatted_title }}{% endblock %}#} +{#{% block page_heading %}{{ event.data.formatted_title }}{% endblock %}#} +{#{% block page_subheading %}{{ event.data.start_date }}, {{ event.data.location_name }}{% endblock %}#} {% block content %} {% include 'teamsnap/lineup/widgets/lineup.html' with formset_lineup=formset_lineup formset_bench=formset_bench%} - - - + {% endblock %} \ No newline at end of file diff --git a/teamsnap/templates/teamsnap/lineup/multiple_choose.html b/teamsnap/templates/teamsnap/lineup/multiple_choose.html index f3e0c62..324c0c0 100644 --- a/teamsnap/templates/teamsnap/lineup/multiple_choose.html +++ b/teamsnap/templates/teamsnap/lineup/multiple_choose.html @@ -1,36 +1,38 @@ {% extends "base.html" %}{% load static %} {% block title %} {{ title }}{% endblock %} -{% csrf_token %} - {% block page_heading %}
- Schedule + Multiple Lineup Edit
{% endblock %} {% block content %} -
- {{ formset.management_form }} - - {% load tz %} + +
+ {{ formset.management_form }} + {% csrf_token %} {# #} {# #} {% for form in formset %} - {{ form.event_id }} + + {% endfor %} +
Game {{ forloop.counter }}{{ form.event_id }}
+
+ - + + {% endblock %} \ No newline at end of file diff --git a/teamsnap/templates/teamsnap/lineup/widgets/lineup.html b/teamsnap/templates/teamsnap/lineup/widgets/lineup.html index a9e5cc5..d3c336e 100644 --- a/teamsnap/templates/teamsnap/lineup/widgets/lineup.html +++ b/teamsnap/templates/teamsnap/lineup/widgets/lineup.html @@ -1,28 +1,77 @@ -
-
-
-{#
#} - {% with 'P C 1B 2B 3B SS LF CF RF EH DH' as position_list %} - {% for position in position_list.split %} - {{ position }} - {% endfor %} - {% endwith %} -{#
#} -
-
+
{{ formset.management_form }} {% csrf_token %} +
+

{{ event.data.formatted_title }}

+
{{ event.data.start_date|date:"D, F j, Y g:i A" }}
-

Lineup

- {% include 'teamsnap/lineup/widgets/lineup_table.html' with formset=formset_lineup table_id="players-lineup" %} - +
+
+ +
+
+ + + +
+
+
-

Bench

- {% include 'teamsnap/lineup/widgets/lineup_table.html' with formset=formset_bench table_id="players-bench" %} +
+
+
+
+ Starting Lineup +
+
-

Out

- {% include 'teamsnap/lineup/widgets/lineup_table.html' with formset=formset_out table_id="players-out" %} +
+
+
+ {% with 'P C 1B 2B 3B SS LF CF RF EH DH' as position_list %} + {% for position in position_list.split %} +
+ {{ position }} +
+ {% endfor %} + {% endwith %} +
+
+
+ {% include 'teamsnap/lineup/widgets/lineup_table.html' with formset=formset_startinglineup table_id="benchcoach-startinglineup" %} +
+
+
+
+ Starting (Positional Only) + +
+
+ + {% include 'teamsnap/lineup/widgets/lineup_table.html' with formset=formset_startingpositionalonly table_id="benchcoach-startingpositionalonly" %} +
+ +
+
+
+ Bench +
+
+
+ {% include 'teamsnap/lineup/widgets/lineup_table.html' with formset=formset_bench table_id="benchcoach-bench" %} + +
+
+
+ Out +
+
+
+ {% include 'teamsnap/lineup/widgets/lineup_table.html' with formset=formset_out table_id="benchcoach-out" %} + + +
-
\ No newline at end of file +
diff --git a/teamsnap/templates/teamsnap/lineup/widgets/lineup_table.html b/teamsnap/templates/teamsnap/lineup/widgets/lineup_table.html index 771e3f1..a84e051 100644 --- a/teamsnap/templates/teamsnap/lineup/widgets/lineup_table.html +++ b/teamsnap/templates/teamsnap/lineup/widgets/lineup_table.html @@ -1,29 +1,38 @@ - - - {% for form in formset %} - - {{ form.event_lineup_entry_id.as_hidden }} - {{ form.event_lineup_id.as_hidden }} - {{ form.event_id.as_hidden }} - {{ form.member_id.as_hidden }} - {{ form.sequence.as_hidden }} - {{ form.label.as_hidden }} - {{ form.member_name.as_hidden }} - - + + {# #} + + {% endfor %} + +
- {{ form.sequence.value | add:"1" }} - -
- - {% if form.order.value > 0 %} {{ form.order.value | add:"1" }} {% endif %} - +
+ + + {% for form in formset %} + + {{ form.event_lineup_entry_id.as_hidden }} + {{ form.event_lineup_id.as_hidden }} + {{ form.event_id.as_hidden }} + {{ form.member_id.as_hidden }} + {{ form.position_only.as_hidden }} + {{ form.label.as_hidden }} + {{ form.member_name.as_hidden }} + + + + - - - - {# #} - - {% endfor %} - -
+ {{ form.sequence.value | add:"1" }} + +
+ + {{ form.sequence.as_hidden }} + - + + {% if form.order.value > 0 %}{{ form.order.value | add:"1" }}{% endif %} + + + {% if form.availability.data.status_code == 2 %} {% elif form.availability.data.status_code == 1 %} +{# #} {% elif form.availability.data.status_code == 0 %} @@ -31,29 +40,30 @@ {% endif %} -
-
-
+
+
{{ form.member.data.first_name }} - {{ form.member.data.last_name }} - + {{ form.member.data.last_name }} + #{{ form.member.data.jersey_number }} -
- {#
{{ form.statline }}#} -
- {{ form.label }} - - - {{ form.instance.position }}
\ No newline at end of file +
+ {#
{{ form.statline }}#} + +
+ {{ form.label }} + + + {{ form.instance.position }}
+ \ No newline at end of file diff --git a/teamsnap/templates/teamsnap/schedule.html b/teamsnap/templates/teamsnap/schedule.html index 112708a..c53347f 100644 --- a/teamsnap/templates/teamsnap/schedule.html +++ b/teamsnap/templates/teamsnap/schedule.html @@ -1,17 +1,15 @@ {% extends "base.html" %}{% load static %} {% block title %} {{ title }}{% endblock %} {% block page_heading %} -
-
- Schedule -
+