Added selenium

This commit is contained in:
Ceferino Patino 2022-09-05 20:27:26 -05:00
commit 63a28a6813
4 changed files with 25 additions and 16 deletions

View file

@ -5,7 +5,7 @@
{% endblock %}
{% block formtitle %}
<h1 class="text-center mt-1 mb-4">Add House Points</h1>
<h1 id='header' class="text-center mt-1 mb-4">Add House Points</h1>
{% endblock %}
{% block content %}

View file

@ -21,5 +21,5 @@ from . import views
app_name = 'housewars'
urlpatterns = [
path('', views.EntryCreateView.as_view(), name='signup'),
path('points/', views.CreatePointsEntry.as_view(), name='add_points')
path('points/', views.PointsEntryCreateView.as_view(), name='add_points')
]

View file

@ -22,16 +22,6 @@ class EntryCreateView(SessionWizardView):
def get_template_names(self):
return [TEMPLATES[self.steps.current]]
def post(self, *args, **kwargs):
form = self.get_form(data=self.request.POST, files=self.request.FILES)
if not form.is_valid():
if (form.errors.as_data().get('__all__')):
for error in form.errors.as_data().get('__all__'):
messages.error(self.request, error.messages[0])
return super().post(*args, **kwargs)
def get_form(self, step=None, data=None, files=None):
form = super().get_form(step, data, files)
@ -43,11 +33,11 @@ class EntryCreateView(SessionWizardView):
house=cd.get('user-house'), activity=OuterRef('id')).values('quota')
# Set quota to custom quota or default, then set count to the total signups for each activity. Filter where quota is less than house signups.
filtered1 = Activity.objects.filter(time__isnull=False).annotate(final_quota=Coalesce(Subquery(quota[:1]), F('default_quota'))).annotate(count=Count(
filtered1 = Activity.objects.annotate(final_quota=Coalesce(Subquery(quota[:1]), F('default_quota'))).annotate(count=Count(
'activity1', filter=Q(activity1__house=cd.get('user-house')))).filter(final_quota__gt=F('count'))
filtered2 = Activity.objects.filter(time__isnull=False).annotate(final_quota=Coalesce(Subquery(quota[:1]), F('default_quota'))).annotate(count=Count(
'activity1', filter=Q(activity1__house=cd.get('user-house')))).filter(final_quota__gt=F('count'), time=30)
filtered2 = Activity.objects.annotate(final_quota=Coalesce(Subquery(quota[:1]), F('default_quota'))).annotate(count=Count(
'activity1', filter=Q(activity2__house=cd.get('user-house')))).filter(final_quota__gt=F('count'), time=30)
# Render filtered as choices in activity select step
form.fields['activity1'].queryset = filtered1
@ -65,9 +55,14 @@ class EntryCreateView(SessionWizardView):
return reverse('housewars:signup')
class CreatePointsEntry(CreateView):
class PointsEntryCreateView(CreateView):
model = PointsEntry
form_class = PointsEntryForm
def form_valid(self, form):
messages.success(self.request, 'Your points entry has been submitted.')
return super().form_valid(form)
def get_success_url(self):
return reverse('housewars:add_points')

View file

@ -1,15 +1,29 @@
asgiref==3.5.2
async-generator==1.10
attrs==22.1.0
autopep8==1.6.0
certifi==2022.6.15
Django==4.0.4
django-formtools==2.3
django-smart-selects==1.6.0
gunicorn==20.1.0
h11==0.13.0
idna==3.3
mysqlclient==2.1.1
outcome==1.2.0
Pillow==9.2.0
pycodestyle==2.8.0
PySocks==1.7.1
python-dotenv==0.20.0
reportlab==3.6.11
selenium==4.4.3
sniffio==1.3.0
sortedcontainers==2.4.0
sqlparse==0.4.2
toml==0.10.2
trio==0.21.0
trio-websocket==0.9.2
tzdata==2022.1
urllib3==1.26.12
whitenoise==6.2.0
wsproto==1.2.0