# HG changeset patch # User durandn # Date 1467902071 -7200 # Node ID 8702ab13783eceaeff95064e30539d10c87c6daa # Parent 22c88b2c325f6836c19f7e5dda1c61c0b957319d design work on templates, redirect to home on /, implemented accept and reject revisions shortcuts when applicable diff -r 22c88b2c325f -r 8702ab13783e src/iconolab/auth/views.py --- a/src/iconolab/auth/views.py Fri Jul 22 16:48:08 2016 +0200 +++ b/src/iconolab/auth/views.py Thu Jul 07 16:34:31 2016 +0200 @@ -37,7 +37,6 @@ return super(LoginView, self).get(request, *args, **kwargs) def form_valid(self, form): - print(self.request.POST) login(self.request, form.get_user()) return HttpResponseRedirect(self.get_success_url()) diff -r 22c88b2c325f -r 8702ab13783e src/iconolab/models.py --- a/src/iconolab/models.py Fri Jul 22 16:48:08 2016 +0200 +++ b/src/iconolab/models.py Thu Jul 07 16:34:31 2016 +0200 @@ -119,8 +119,12 @@ tag_count = models.IntegerField(blank=True, null=True, default=0) def contributors(self): - # returns users that submitted an accepted revision - return + contributors = [] + for revision in self.annotation.revisions.filter(state__in=[AnnotationRevision.ACCEPTED, AnnotationRevision.STUDIED]): + if revision.author not in contributors: + contributors.append(revision.author) + print(contributors) + return contributors class Annotation(models.Model): @@ -164,18 +168,27 @@ # Call when we're validating an awaiting revision whose parent is the current revision AS IT WAS CREATED @transaction.atomic def validate_existing_revision(self, revision_to_validate): - if revision_to_validate.parent_revision == current_revision: + if revision_to_validate.parent_revision == self.current_revision and revision_to_validate.state == AnnotationRevision.AWAITING: self.current_revision = revision_to_validate revision_to_validate.state = AnnotationRevision.ACCEPTED revision_to_validate.save() self.save() - + + # Call to reject a + @transaction.atomic + def reject_existing_revision(self, revision_to_reject): + if revision_to_reject.state == AnnotationRevision.AWAITING: + revision_to_reject.state = AnnotationRevision.REJECTED + revision_to_reject.save() + # Call when we're validating an awaiting revision whose parent isn't the current revision OR IF IT WAS CHANGED BY THE ANNOTATION AUTHOR @transaction.atomic def merge_existing_revision(self, title, description, fragment, tags, revision_to_merge): merged_revision = self.make_new_revision(author=self.author, title=title, description=description, fragment=fragment, tags=tags) merged_revision.merge_parent_revision = revision_to_merge merged_revision.save() + revision_to_merge.state = AnnotationRevision.STUDIED + revision_to_merge.save() self.current_revision=merged_revision self.save() @@ -185,11 +198,13 @@ AWAITING = 0 ACCEPTED = 1 REJECTED = 2 + STUDIED = 3 REVISION_STATES = ( (AWAITING, 'awaiting'), (ACCEPTED, 'accepted'), - (REJECTED, 'rejected') + (REJECTED, 'rejected'), + (STUDIED, 'studied'), ) revision_guid = models.UUIDField(default=uuid.uuid4) diff -r 22c88b2c325f -r 8702ab13783e src/iconolab/settings/__init__.py --- a/src/iconolab/settings/__init__.py Fri Jul 22 16:48:08 2016 +0200 +++ b/src/iconolab/settings/__init__.py Thu Jul 07 16:34:31 2016 +0200 @@ -94,6 +94,7 @@ 'django.contrib.messages.context_processors.messages', 'django.core.context_processors.media', 'django.core.context_processors.static', + 'django.core.context_processors.i18n', 'iconolab.utils.context_processors.notifications', ], }, @@ -136,8 +137,6 @@ # Internationalization # https://docs.djangoproject.com/en/1.9/topics/i18n/ -LANGUAGE_CODE = 'en-us' - TIME_ZONE = 'UTC' USE_I18N = True diff -r 22c88b2c325f -r 8702ab13783e src/iconolab/static/iconolab/css/iconolab.css --- a/src/iconolab/static/iconolab/css/iconolab.css Fri Jul 22 16:48:08 2016 +0200 +++ b/src/iconolab/static/iconolab/css/iconolab.css Thu Jul 07 16:34:31 2016 +0200 @@ -6,3 +6,47 @@ .form-drawing-wrapper .selected {border: 1px solid orange; color: white; background-color: orange} .showPointer {cursor: pointer;} + +.annotation-content{ + margin-top: 15px; + margin-bottom: 15px; +} + +.collection-home-btn{ + margin-top: 5px; +} + +.revision-link:hover{ + text-decoration: underline; +} + +.item-image-thumbnail:hover{ + cursor: pointer; +} + +ul.annotation-comments{ + background-color: #ededed; +} +li.list-group-item{ + border: 1px solid #bbb +} + +.comment-reply-link{ + cursor: pointer; +} +.comment-subtext{ + font-size:0.9em; + display:inline; +} +.comment-metacategories{ + font-size:0.9em; + display:inline; +} +.comment-separator{ + margin-top: 10px; + margin-bottom: 5px; +} + +.pagination-shortcut{ + cursor: pointer; +} \ No newline at end of file diff -r 22c88b2c325f -r 8702ab13783e src/iconolab/templates/iconolab/change_annotation.html --- a/src/iconolab/templates/iconolab/change_annotation.html Fri Jul 22 16:48:08 2016 +0200 +++ b/src/iconolab/templates/iconolab/change_annotation.html Thu Jul 07 16:34:31 2016 +0200 @@ -31,7 +31,7 @@