Skip to content
This repository has been archived by the owner on Jul 22, 2022. It is now read-only.

Commit

Permalink
Merge pull request #11 from makyo/related-names
Browse files Browse the repository at this point in the history
Related names for submitify only
  • Loading branch information
makyo committed Dec 3, 2016
2 parents 4b81f22 + c8d4cc4 commit 4edf49a
Show file tree
Hide file tree
Showing 8 changed files with 23 additions and 20 deletions.
2 changes: 1 addition & 1 deletion setup.py
Expand Up @@ -9,7 +9,7 @@

setup(
name='django-submitify',
version='0.0.7',
version='0.0.8',
packages=find_packages(),
include_package_data=True,
license='MIT License',
Expand Down
17 changes: 10 additions & 7 deletions submitify/models.py
Expand Up @@ -47,7 +47,8 @@ class Call(models.Model):
invite_only = models.BooleanField(default=False)
readers = models.ManyToManyField(User,
related_name='submitify_calls_reading')
restricted_to = models.ManyToManyField(User, related_name='invitations')
restricted_to = models.ManyToManyField(
User, related_name='submitify_invitations')
anonymous_submissions = models.BooleanField(default=True)
readers_can_submit = models.BooleanField(default=False)

Expand Down Expand Up @@ -113,7 +114,7 @@ class Submission(models.Model):
)

owner = models.ForeignKey(User, related_name='submitify_submissions')
call = models.ForeignKey(Call)
call = models.ForeignKey(Call, related_name='submitify_submissions')

# Basics
title = models.CharField(max_length=200)
Expand Down Expand Up @@ -165,7 +166,7 @@ def get_class_for_status(self):
}[self.status]

def get_review_stats(self):
reviews = self.review_set.all()
reviews = self.submitify_reviews.all()
if len(reviews) == 0:
return {
'total': 0,
Expand All @@ -190,8 +191,9 @@ class Review(models.Model):
(REJECT, 'Reject'),
)

owner = models.ForeignKey(User)
submission = models.ForeignKey(Submission)
owner = models.ForeignKey(User, related_name='submitify_reviews')
submission = models.ForeignKey(Submission,
related_name='submitify_reviews')
ctime = models.DateTimeField(auto_now_add=True)
mtime = models.DateTimeField(auto_now=True)
rating = models.PositiveIntegerField()
Expand Down Expand Up @@ -222,8 +224,9 @@ class Notification(models.Model):
('r', 'Notification for rejected authors'),
)

call = models.ForeignKey(Call)
targets = models.ManyToManyField(User)
call = models.ForeignKey(Call, related_name='submitify_notifications')
targets = models.ManyToManyField(User,
related_name='submitify_notifications')
notification_type = models.CharField(max_length=1,
choices=NOTIFICATION_TYPES)
ctime = models.DateTimeField(auto_now_add=True)
Expand Down
8 changes: 4 additions & 4 deletions submitify/templates/submitify/calls/view.html
Expand Up @@ -155,11 +155,11 @@ <h2>Readers</h2>
</div>
{% endif %}
</div>
{% if user.is_authenticated and call.notification_set.count > 0 %}
{% if user.is_authenticated and call.submitify_notifications.count > 0 %}
<div class="row">
<div class="col-md-8 col-md-offset-2">
<h2>Notifications</h2>
{% for notification in call.notification_set.all %}
{% for notification in call.submitify_notifications.all %}
{% if user == call.owner or user in notification.targets.all %}
<div class="panel panel-{% if notification.notification_type == 'a' %}success{% elif notification.notification_type == 'r' %}danger{% else %}default{% endif %}">
<div class="panel-heading">
Expand Down Expand Up @@ -198,13 +198,13 @@ <h2>Submissions</h2>
</tr>
</thead>
<tbody>
{% for submission in call.submission_set.all %}
{% for submission in call.submitify_submissions.all %}
<tr>
<td>
<a href="{{ submission.get_absolute_url }}">{{ submission.title }}</a>
{% if call.owner == user %}
<p class="small">
{{ submission.review_set.count }}/{{ call.reviews_per_submission }} needed reviews &bullet;
{{ submission.submitify_reviews.count }}/{{ call.reviews_per_submission }} needed reviews &bullet;
{% with stats=submission.get_review_stats %}
<strong class="text-success">{{ stats.accept }}</strong>/<strong class="text-danger">{{ stats.reject }}</strong> &bullet;
Average rating: {{ stats.average_rating }}
Expand Down
4 changes: 2 additions & 2 deletions submitify/templates/submitify/submissions/view.html
Expand Up @@ -130,7 +130,7 @@ <h2>Review</h2>
<div class="col-md-8 col-md-offset-2">
<h2>Reviews</h2>
<p>
{{ submission.review_set.count }}/{{ call.reviews_per_submission }} needed reviews &bullet;
{{ submission.submitify_reviews.count }}/{{ call.reviews_per_submission }} needed reviews &bullet;
{% with stats=submission.get_review_stats %}
Yea/nay: <strong class="text-success">{{ stats.accept }}</strong>/<strong class="text-danger">{{ stats.reject }}</strong> &bullet;
Average rating: {{ stats.average_rating }}
Expand All @@ -147,7 +147,7 @@ <h2>Reviews</h2>
</tr>
</thead>
<tbody>
{% for review in submission.review_set.all %}
{% for review in submission.submitify_reviews.all %}
<tr>
<td><a href="{{ review.get_absolute_url }}">Review by {{ review.owner.username }}</a></td>
<td>{{ review.rating }}/5</td>
Expand Down
6 changes: 3 additions & 3 deletions submitify/views/calls.py
Expand Up @@ -152,7 +152,7 @@ def invite_writer(request):
status=403)
if not call.invite_only:
messages.error(request, 'This call does not accept writer '
'invitations')
'submitify_invitations')
return render(request, 'submitify/permission_denied.html', {},
status=403)
call.restricted_to.add(reader)
Expand All @@ -172,7 +172,7 @@ def next_step(request, call_id=None, call_slug=None):
can_proceed = False
if call.status == Call.CLOSED_REVIEWING:
unreviewed = False
for submission in call.submission_set.all():
for submission in call.submitify_submissions.all():
if (submission.status == Submission.SUBMITTED or
submission.status == Submission.IN_REVIEW):
unreviewed = True
Expand All @@ -181,7 +181,7 @@ def next_step(request, call_id=None, call_slug=None):
can_proceed = False
if can_proceed:
if call.status == Call.OPEN:
for submission in call.submission_set.all():
for submission in call.submitify_submissions.all():
if submission.status == Submission.SUBMITTED:
submission.status = Submission.IN_REVIEW
submission.save()
Expand Down
2 changes: 1 addition & 1 deletion submitify/views/notifications.py
Expand Up @@ -54,7 +54,7 @@ def send_notification(request, call_id=None, call_slug=None,
notification = form.save(commit=False)
notification.call = call
notification.notification_type = notification_type[0]
submissions = call.submission_set.all()
submissions = call.submitify_submissions.all()
if notification_type == 'accept':
submissions = submissions.filter(status=Submission.ACCEPTED)
if notification_type == 'reject':
Expand Down
2 changes: 1 addition & 1 deletion submitify/views/reviews.py
Expand Up @@ -32,7 +32,7 @@ def create_review(request, call_id=None, call_slug=None, submission_id=None):
review.submission = submission
review.save()
form.save_m2m()
review_count = submission.review_set.count()
review_count = submission.submitify_reviews.count()
if review_count == 1:
submission.status = Submission.IN_REVIEW
if review_count >= call.reviews_per_submission:
Expand Down
2 changes: 1 addition & 1 deletion usermgmt_standalone/views.py
Expand Up @@ -67,7 +67,7 @@ def view_user(request, username=None):
Call.NOT_OPEN_YET,
Call.OPEN
])
invite_calls_writing = request.user.submitify_calls_reading.filter(
invite_calls_writing = request.user.submitify_calls_editing.filter(
status__in=[
Call.NOT_OPEN_YET,
Call.OPEN,
Expand Down

0 comments on commit 4edf49a

Please sign in to comment.