Merge branch 'talbs/studio-authorship' of github.com:edx/edx-platform into talbs/studio-authorship
Conflicts: cms/djangoapps/contentstore/views/user.py cms/templates/index.html
This commit is contained in:
@@ -39,7 +39,7 @@ class CourseCreator(models.Model):
|
||||
"why course creation access was denied)"))
|
||||
|
||||
def __unicode__(self):
|
||||
return u'%str | %str [%str] | %str' % (self.user, self.state, self.state_changed, self.note)
|
||||
return u'%s | %s [%s]' % (self.user, self.state, self.state_changed)
|
||||
|
||||
|
||||
@receiver(post_init, sender=CourseCreator)
|
||||
|
||||
@@ -2,19 +2,18 @@
|
||||
Methods for interacting programmatically with the user creator table.
|
||||
"""
|
||||
from course_creators.models import CourseCreator
|
||||
from django.core.exceptions import PermissionDenied
|
||||
|
||||
from auth.authz import add_user_to_creator_group, remove_user_from_creator_group
|
||||
|
||||
|
||||
def add_user_with_status_unrequested(caller, user):
|
||||
def add_user_with_status_unrequested(user):
|
||||
"""
|
||||
Adds a user to the course creator table with status 'unrequested'.
|
||||
|
||||
If the user is already in the table, this method is a no-op
|
||||
(state will not be changed). Caller must have staff permissions.
|
||||
(state will not be changed).
|
||||
"""
|
||||
_add_user(caller, user, CourseCreator.UNREQUESTED)
|
||||
_add_user(user, CourseCreator.UNREQUESTED)
|
||||
|
||||
|
||||
def add_user_with_status_granted(caller, user):
|
||||
@@ -26,7 +25,7 @@ def add_user_with_status_granted(caller, user):
|
||||
|
||||
This method also adds the user to the course creator group maintained by authz.py.
|
||||
"""
|
||||
_add_user(caller, user, CourseCreator.GRANTED)
|
||||
_add_user(user, CourseCreator.GRANTED)
|
||||
update_course_creator_group(caller, user, True)
|
||||
|
||||
|
||||
@@ -61,16 +60,13 @@ def get_course_creator_status(user):
|
||||
return user[0].state
|
||||
|
||||
|
||||
def _add_user(caller, user, state):
|
||||
def _add_user(user, state):
|
||||
"""
|
||||
Adds a user to the course creator table with the specified state.
|
||||
|
||||
If the user is already in the table, this method is a no-op
|
||||
(state will not be changed).
|
||||
"""
|
||||
if not caller.is_active or not caller.is_authenticated or not caller.is_staff:
|
||||
raise PermissionDenied
|
||||
|
||||
if CourseCreator.objects.filter(user=user).count() == 0:
|
||||
entry = CourseCreator(user=user, state=state)
|
||||
entry.save()
|
||||
|
||||
@@ -446,6 +446,24 @@ p, ul, ol, dl {
|
||||
}
|
||||
}
|
||||
|
||||
// actions
|
||||
.list-actions {
|
||||
@extend .no-list;
|
||||
|
||||
.action-item {
|
||||
margin-bottom: ($baseline/4);
|
||||
border-bottom: 1px dotted $gray-l4;
|
||||
padding-bottom: ($baseline/4);
|
||||
|
||||
|
||||
&:last-child {
|
||||
margin-bottom: 0;
|
||||
border: none;
|
||||
padding-bottom: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// navigation
|
||||
.nav-related, .nav-page {
|
||||
|
||||
|
||||
@@ -104,6 +104,22 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// list of notices all in one
|
||||
&.list-notices {
|
||||
|
||||
.notice-item {
|
||||
margin-bottom: $baseline;
|
||||
border-bottom: 1px solid $gray-l3;
|
||||
padding-bottom: $baseline;
|
||||
|
||||
&:last-child {
|
||||
margin-bottom: 0;
|
||||
border: none;
|
||||
padding-bottom: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// particular notice - warnings around a workflow for something
|
||||
@@ -128,11 +144,11 @@
|
||||
background-color: $gray-l4;
|
||||
|
||||
.title {
|
||||
color: $gray-d1;
|
||||
color: $gray-d3;
|
||||
}
|
||||
|
||||
.copy {
|
||||
color: $gray;
|
||||
color: $gray-d2;
|
||||
}
|
||||
|
||||
&.has-actions {
|
||||
|
||||
@@ -36,7 +36,7 @@ body.dashboard {
|
||||
width: flexgrid(9, 9);
|
||||
|
||||
// CASE: notice has actions {
|
||||
&.has-actions {
|
||||
&.has-actions, &.list-notices .notice-item.has-actions {
|
||||
|
||||
.msg, .list-actions {
|
||||
display: inline-block;
|
||||
@@ -59,6 +59,7 @@ body.dashboard {
|
||||
|
||||
.action-create-course {
|
||||
@extend .btn-primary-green;
|
||||
@extend .t-action3;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -66,8 +67,8 @@ body.dashboard {
|
||||
|
||||
|
||||
|
||||
// elements - authorship controls
|
||||
.wrapper-authorshiprights {
|
||||
// elements - course creation rights controls
|
||||
.wrapper-creationrights {
|
||||
overflow: hidden;
|
||||
|
||||
.ui-toggle-control {
|
||||
@@ -129,8 +130,8 @@ body.dashboard {
|
||||
|
||||
}
|
||||
|
||||
// elements - authorship controls
|
||||
.status-authorship {
|
||||
// elements - course creation rights controls
|
||||
.status-creationrights {
|
||||
margin-top: $baseline;
|
||||
|
||||
.title {
|
||||
@@ -144,7 +145,7 @@ body.dashboard {
|
||||
|
||||
}
|
||||
|
||||
.list-actions {
|
||||
.list-actions, .form-actions {
|
||||
margin-top: ($baseline*0.75);
|
||||
|
||||
.action-item {
|
||||
@@ -253,10 +254,10 @@ body.dashboard {
|
||||
}
|
||||
|
||||
.class-list {
|
||||
margin-top: 20px;
|
||||
margin-top: $baseline;
|
||||
border-radius: 3px;
|
||||
border: 1px solid $darkGrey;
|
||||
background: #fff;
|
||||
border: 1px solid $gray-d2;
|
||||
background: $white;
|
||||
box-shadow: 0 1px 2px rgba(0, 0, 0, .1);
|
||||
|
||||
li {
|
||||
|
||||
Reference in New Issue
Block a user