Skip to content
This repository was archived by the owner on Aug 26, 2024. It is now read-only.
Merged
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
12 changes: 11 additions & 1 deletion gsoc/admin.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from .models import (UserProfile, RegLink, UserDetails, Scheduler, PageNotification, AddUserLog,
BlogPostDueDate, Builder, Timeline, ArticleReview, Event, SubOrgDetails,
GsocEndDate)
GsocEndDate, Comment)
from .forms import (UserProfileForm, UserDetailsForm, RegLinkForm, BlogPostDueDateForm, EventForm,
GsocEndDateForm)

Expand Down Expand Up @@ -519,3 +519,13 @@ def has_add_permission(self, request, obj=None):


admin.site.register(SubOrgDetails, SubOrgDetailsAdmin)


class CommentAdmin(admin.ModelAdmin):
list_display = ('username', 'article', 'content')

def has_add_permission(self, request, obj=None):
return False


admin.site.register(Comment, CommentAdmin)
Binary file modified project.db
Binary file not shown.
17 changes: 12 additions & 5 deletions suborg/templates/application_list.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,20 @@
<h1>Select any of the applications to change</h1>
<ul>
{% for application in applications %}
<li><a href="{% url 'suborg:update_application' application_id=application.id %}">
{% if application.suborg %}
{{ application.suborg.suborg_name }}
<li>
<a href="{% url 'suborg:update_application' application_id=application.id %}">
{% if application.suborg %}
{{ application.suborg.suborg_name }}
{% else %}
{{ application.suborg_name }}
{% endif %}
</a>
{% if application.accepted %}
- Accepted, <a href="{% url 'suborg:add_mentor' application_id=application.id %}">Add Mentors</a>
{% else %}
{{ application.suborg_name }}
- Not Accepted
{% endif %}
</a></li>
</li>
{% endfor %}
</ul>
<p>
Expand Down
2 changes: 1 addition & 1 deletion suborg/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,6 @@
# name='reject_application'),
])),
url('^mentor/', include([
url('^add/', views.add_mentor, name='add_mentor')
url('^add/(?P<application_id>[0-9]+)/', views.add_mentor, name='add_mentor')
])),
]
25 changes: 17 additions & 8 deletions suborg/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ def is_suborg_admin(user):


def home(request):
return redirect(reverse('suborg:register_suborg'))
return redirect(reverse('suborg:application_list'))


@decorators.login_required
Expand Down Expand Up @@ -108,27 +108,36 @@ def accept_application(request, application_id):
# return redirect(reverse('admin:gsoc_suborgdetails_change', args=[application_id]))


@decorators.user_passes_test(is_suborg_admin)
def add_mentor(request):
profile = request.user.suborg_admin_profile()
@decorators.login_required
def add_mentor(request, application_id):
application = SubOrgDetails.objects.get(id=application_id)

if not application.accepted:
messages.error(request, 'Application not accepted yet! Can not add mentors.')
return redirect(reverse('suborg:application_list'))

if application.suborg_admin_email != request.user.email:
messages.error(request, 'You are not authorized to add mentors for this suborg.')
return redirect(reverse('suborg:application_list'))

MentorFormSet = modelformset_factory(RegLink, fields=('email', ), extra=4)

if request.method == 'POST':
formset = MentorFormSet(request.POST)
if formset.is_valid():
instances = formset.save(commit=False)
for instance in instances:
instance.user_suborg = profile.suborg_full_name
instance.user_gsoc_year = profile.gsoc_year
instance.user_suborg = application.suborg
instance.user_gsoc_year = application.gsoc_year
instance.user_role = 2
instance.save()
else:
return render(request, 'add_mentor.html', {
'formset': formset,
})

formset = MentorFormSet(queryset=RegLink.objects.filter(user_gsoc_year=profile.gsoc_year,
user_suborg=profile.suborg_full_name,
formset = MentorFormSet(queryset=RegLink.objects.filter(user_gsoc_year=application.gsoc_year,
user_suborg=application.suborg,
user_role=2))

return render(request, 'add_mentor.html', {
Expand Down