added notification styles for re-verification and general on LMS
This commit is contained in:
committed by
Julia Hansbrough
parent
3e1519c62a
commit
86588c492b
@@ -224,6 +224,15 @@ $error-color: $error-red;
|
||||
$warning-color: $m-pink;
|
||||
$confirm-color: $m-green;
|
||||
|
||||
// Notifications
|
||||
$notify-banner-bg1: rgb(56,56,56);
|
||||
$notify-banner-bg2: rgb(136,136,136);
|
||||
$notify-banner-bg3: rgb(223,223,223);
|
||||
|
||||
$alert-color: rgb(212, 64, 64); //rich red
|
||||
$warning-color: rgb(237, 189, 60); //rich yellow
|
||||
$success-color: rgb(37, 184, 90); //rich green
|
||||
|
||||
// ====================
|
||||
|
||||
// MISC: visual horizontal rules
|
||||
|
||||
@@ -5,11 +5,12 @@
|
||||
|
||||
// UI : message
|
||||
.wrapper-msg {
|
||||
box-shadow: 0 0 5px $action-primary-shadow inset;
|
||||
margin-bottom: ($baseline*1.5);
|
||||
box-shadow: 0 0 5px $shadow-d1 inset;
|
||||
margin-bottom: ($baseline/4);
|
||||
padding: $baseline ($baseline*1.5);
|
||||
background: $action-primary-bg;
|
||||
background: $notify-banner-bg1;
|
||||
|
||||
// basic object
|
||||
.msg {
|
||||
@include clearfix();
|
||||
max-width: grid-width(12);
|
||||
@@ -25,24 +26,23 @@
|
||||
}
|
||||
|
||||
.msg-content {
|
||||
width: flex-grid(10,12);
|
||||
|
||||
.title {
|
||||
@extend %t-title5;
|
||||
@extend %t-weight4;
|
||||
margin-bottom: ($baseline/4);
|
||||
color: $white;
|
||||
color: inherit;
|
||||
text-transform: none;
|
||||
letter-spacing: 0;
|
||||
}
|
||||
|
||||
.copy {
|
||||
@extend %t-copy-sub1;
|
||||
color: $white;
|
||||
color: inherit;
|
||||
|
||||
p { // nasty reset
|
||||
@extend %t-copy-sub1;
|
||||
color: $white;
|
||||
color: inherit;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -57,6 +57,7 @@
|
||||
width: flex-grid(2,12);
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
text-align: right;
|
||||
|
||||
.action-primary {
|
||||
@extend %btn-primary-green;
|
||||
@@ -64,7 +65,65 @@
|
||||
}
|
||||
}
|
||||
|
||||
.is-dismissable {
|
||||
|
||||
.msg-content {
|
||||
width: flex-grid(11,12);
|
||||
}
|
||||
|
||||
.action-dismiss {
|
||||
width: flex-grid(1,12);
|
||||
display: inline-block;
|
||||
vertical-align: top;
|
||||
text-align: right;
|
||||
|
||||
.button-dismiss { //ugly reset on button element
|
||||
@extend %t-icon4;
|
||||
background: none;
|
||||
box-shadow: none;
|
||||
border: none;
|
||||
text-shadow: none;
|
||||
color: inherit;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// object variations
|
||||
&.urgency-high {
|
||||
background: $notify-banner-bg1;
|
||||
|
||||
.msg {
|
||||
color: $white;
|
||||
}
|
||||
}
|
||||
|
||||
&.urgency-mid {
|
||||
background: $notify-banner-bg2;
|
||||
|
||||
.msg {
|
||||
color: $white;
|
||||
}
|
||||
}
|
||||
|
||||
&.urgency-low {
|
||||
background: $notify-banner-bg3;
|
||||
|
||||
.msg {
|
||||
color: $black;
|
||||
}
|
||||
}
|
||||
|
||||
&.alert {
|
||||
border-top: 3px solid $alert-color;
|
||||
}
|
||||
|
||||
&.warning {
|
||||
border-top: 3px solid $warning-color;
|
||||
}
|
||||
|
||||
&.success {
|
||||
border-top: 3px solid $success-color;
|
||||
}
|
||||
}
|
||||
|
||||
// prompts
|
||||
|
||||
@@ -133,6 +133,51 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.reverify-status-list {
|
||||
padding: 0 0 0 9px;
|
||||
|
||||
.status-item {
|
||||
@extend %t-copy-sub2;
|
||||
margin-bottom: 7px;
|
||||
border-bottom: 0;
|
||||
padding: 0;
|
||||
|
||||
[class^="icon-"] {
|
||||
display: inline-block;
|
||||
vertical-align: top;
|
||||
margin: ($baseline/10) ($baseline/4) 0 0;
|
||||
}
|
||||
|
||||
&.is-open [class^="icon-"] {
|
||||
color: $action-primary-bg;
|
||||
}
|
||||
|
||||
&.is-pending [class^="icon-"] {
|
||||
color: $warning-color;
|
||||
}
|
||||
|
||||
&.is-approved [class^="icon-"] {
|
||||
color: $success-color;
|
||||
}
|
||||
|
||||
&.is-denied [class^="icon-"] {
|
||||
color: $alert-color;
|
||||
}
|
||||
|
||||
.label {
|
||||
@extend %text-sr;
|
||||
}
|
||||
|
||||
.course-name {
|
||||
display: inline-block;
|
||||
vertical-align: top;
|
||||
width: 80%;
|
||||
color: inherit;
|
||||
line-height: 1.4;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.news-carousel {
|
||||
|
||||
@@ -1832,8 +1832,9 @@
|
||||
}
|
||||
|
||||
.reverification-list {
|
||||
margin-right: ($baseline*1.5);
|
||||
padding: 0;
|
||||
list-style-type: none;
|
||||
padding: 0 $baseline;
|
||||
|
||||
.item {
|
||||
box-shadow: 0 2px 5px 0 $shadow-l1 inset;
|
||||
@@ -1841,7 +1842,15 @@
|
||||
border: 1px solid $m-gray-t2;
|
||||
|
||||
&.complete {
|
||||
border: 1px solid $verified-color-lvl1;
|
||||
border: 1px solid $verified-color-lvl3;
|
||||
|
||||
.course-info {
|
||||
opacity: .5;
|
||||
|
||||
.course-name {
|
||||
font-weight: normal;
|
||||
}
|
||||
}
|
||||
|
||||
.reverify-status {
|
||||
border-top: 1px solid $light-gray;
|
||||
@@ -1852,7 +1861,15 @@
|
||||
}
|
||||
|
||||
&.failed {
|
||||
border: 1px solid $danger-red;
|
||||
border: 1px solid $error-red;
|
||||
|
||||
.course-info {
|
||||
opacity: .5;
|
||||
|
||||
.course-name {
|
||||
font-weight: normal;
|
||||
}
|
||||
}
|
||||
|
||||
.reverify-status {
|
||||
border-top: 1px solid $light-gray;
|
||||
@@ -1914,134 +1931,198 @@
|
||||
}
|
||||
|
||||
// step-photos
|
||||
.wrapper-task {
|
||||
@include clearfix();
|
||||
width: flex-grid(12,12);
|
||||
margin: $baseline 0;
|
||||
&.step-photos {
|
||||
|
||||
.wrapper-help {
|
||||
float: right;
|
||||
width: flex-grid(6,12);
|
||||
padding: 0 $baseline;
|
||||
.block-photo .title {
|
||||
@extend %t-title4;
|
||||
color: $m-blue-d1;
|
||||
}
|
||||
|
||||
.help {
|
||||
margin-bottom: ($baseline*1.5);
|
||||
.wrapper-task {
|
||||
@include clearfix();
|
||||
width: flex-grid(12,12);
|
||||
margin: $baseline 0;
|
||||
|
||||
&:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
.wrapper-help {
|
||||
float: right;
|
||||
width: flex-grid(6,12);
|
||||
padding: 0 $baseline;
|
||||
|
||||
.title {
|
||||
@extend %hd-lv3;
|
||||
}
|
||||
.help {
|
||||
margin-bottom: ($baseline*1.5);
|
||||
|
||||
.copy {
|
||||
@extend %copy-detail;
|
||||
}
|
||||
&:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.example {
|
||||
color: $m-gray-l2;
|
||||
}
|
||||
.title {
|
||||
@extend %hd-lv3;
|
||||
}
|
||||
|
||||
// help - general list
|
||||
.list-help {
|
||||
margin-top: ($baseline/2);
|
||||
color: $black;
|
||||
.copy {
|
||||
@extend %copy-detail;
|
||||
}
|
||||
|
||||
.help-item {
|
||||
margin-bottom: ($baseline/4);
|
||||
border-bottom: 1px solid $m-gray-l4;
|
||||
padding-bottom: ($baseline/4);
|
||||
.example {
|
||||
color: $m-gray-l2;
|
||||
}
|
||||
|
||||
&:last-child {
|
||||
margin-bottom: 0;
|
||||
border-bottom: none;
|
||||
padding-bottom: 0;
|
||||
// help - general list
|
||||
.list-help {
|
||||
margin-top: ($baseline/2);
|
||||
color: $black;
|
||||
|
||||
.help-item {
|
||||
margin-bottom: ($baseline/4);
|
||||
border-bottom: 1px solid $m-gray-l4;
|
||||
padding-bottom: ($baseline/4);
|
||||
|
||||
&:last-child {
|
||||
margin-bottom: 0;
|
||||
border-bottom: none;
|
||||
padding-bottom: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.help-item-emphasis {
|
||||
@extend %t-weight4;
|
||||
}
|
||||
}
|
||||
|
||||
.help-item-emphasis {
|
||||
@extend %t-weight4;
|
||||
// help - faq
|
||||
.list-faq {
|
||||
margin-bottom: $baseline;
|
||||
}
|
||||
}
|
||||
|
||||
// help - faq
|
||||
.list-faq {
|
||||
margin-bottom: $baseline;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.task {
|
||||
@extend %ui-window;
|
||||
float: left;
|
||||
width: flex-grid(6,12);
|
||||
margin-right: flex-gutter();
|
||||
}
|
||||
|
||||
.controls {
|
||||
padding: ($baseline*0.75) $baseline;
|
||||
background: $m-gray-l4;
|
||||
|
||||
.list-controls {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.control {
|
||||
position: absolute;
|
||||
.task {
|
||||
@extend %ui-window;
|
||||
float: left;
|
||||
width: flex-grid(6,12);
|
||||
margin-right: flex-gutter();
|
||||
}
|
||||
|
||||
.action {
|
||||
@extend %btn-primary-blue;
|
||||
padding: ($baseline/2) ($baseline*0.75);
|
||||
.controls {
|
||||
padding: ($baseline*0.75) $baseline;
|
||||
background: $m-gray-l4;
|
||||
|
||||
*[class^="icon-"] {
|
||||
@extend %t-icon4;
|
||||
padding: ($baseline*.25) ($baseline*.5);
|
||||
display: block;
|
||||
}
|
||||
.list-controls {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
// STATE: hidden
|
||||
&.is-hidden {
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
// STATE: shown
|
||||
&.is-shown {
|
||||
visibility: visible;
|
||||
}
|
||||
|
||||
// STATE: approved
|
||||
&.approved {
|
||||
.control {
|
||||
position: absolute;
|
||||
|
||||
.action {
|
||||
@extend %btn-verify-primary;
|
||||
@extend %btn-primary-blue;
|
||||
padding: ($baseline/2) ($baseline*0.75);
|
||||
|
||||
*[class^="icon-"] {
|
||||
@extend %t-icon4;
|
||||
padding: ($baseline*.25) ($baseline*.5);
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
|
||||
// STATE: hidden
|
||||
&.is-hidden {
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
// STATE: shown
|
||||
&.is-shown {
|
||||
visibility: visible;
|
||||
}
|
||||
|
||||
// STATE: approved
|
||||
&.approved {
|
||||
|
||||
.action {
|
||||
@extend %btn-verify-primary;
|
||||
padding: ($baseline/2) ($baseline*0.75);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// control - redo
|
||||
.control-redo {
|
||||
position: absolute;
|
||||
left: ($baseline/2);
|
||||
}
|
||||
|
||||
// control - take/do
|
||||
.control-do {
|
||||
left: 45%;
|
||||
}
|
||||
|
||||
// control - approve
|
||||
.control-approve {
|
||||
position: absolute;
|
||||
right: ($baseline/2);
|
||||
}
|
||||
}
|
||||
|
||||
.msg {
|
||||
@include clearfix();
|
||||
margin-top: ($baseline*2);
|
||||
|
||||
.copy {
|
||||
float: left;
|
||||
width: flex-grid(8,12);
|
||||
margin-right: flex-gutter();
|
||||
}
|
||||
|
||||
.list-actions {
|
||||
position: relative;
|
||||
top: -($baseline/2);
|
||||
float: left;
|
||||
width: flex-grid(4,12);
|
||||
text-align: right;
|
||||
|
||||
.action-retakephotos a {
|
||||
@extend %btn-primary-blue;
|
||||
@include font-size(14);
|
||||
padding: ($baseline/2) ($baseline*.75);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// control - redo
|
||||
.control-redo {
|
||||
position: absolute;
|
||||
left: ($baseline/2);
|
||||
}
|
||||
|
||||
// control - take/do
|
||||
.control-do {
|
||||
left: 45%;
|
||||
}
|
||||
|
||||
// control - approve
|
||||
.control-approve {
|
||||
position: absolute;
|
||||
right: ($baseline/2);
|
||||
.msg-followup {
|
||||
border-top: ($baseline/10) solid $m-gray-t0;
|
||||
padding-top: $baseline;
|
||||
}
|
||||
}
|
||||
|
||||
.msg {
|
||||
.review-task {
|
||||
margin-bottom: ($baseline*1.5);
|
||||
padding: ($baseline*0.75) $baseline;
|
||||
border-radius: ($baseline/10);
|
||||
background: $m-gray-l4;
|
||||
|
||||
&:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
> .title {
|
||||
@extend %hd-lv3;
|
||||
}
|
||||
|
||||
.copy {
|
||||
@extend %copy-base;
|
||||
|
||||
strong {
|
||||
@extend %t-weight5;
|
||||
color: $m-gray-d4;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// individual task - name
|
||||
.review-task-name {
|
||||
@include clearfix();
|
||||
margin-top: ($baseline*2);
|
||||
border: 1px solid $light-gray;
|
||||
|
||||
.copy {
|
||||
float: left;
|
||||
@@ -2051,12 +2132,12 @@
|
||||
|
||||
.list-actions {
|
||||
position: relative;
|
||||
top: -($baseline/2);
|
||||
top: -($baseline);
|
||||
float: left;
|
||||
width: flex-grid(4,12);
|
||||
text-align: right;
|
||||
|
||||
.action-retakephotos a {
|
||||
.action-editname a {
|
||||
@extend %btn-primary-blue;
|
||||
@include font-size(14);
|
||||
padding: ($baseline/2) ($baseline*.75);
|
||||
@@ -2064,123 +2145,67 @@
|
||||
}
|
||||
}
|
||||
|
||||
.msg-followup {
|
||||
border-top: ($baseline/10) solid $m-gray-t0;
|
||||
padding-top: $baseline;
|
||||
}
|
||||
}
|
||||
.nav-wizard {
|
||||
padding: ($baseline*.75) $baseline;
|
||||
|
||||
.prompt-verify {
|
||||
float: left;
|
||||
width: flex-grid(6,12);
|
||||
margin: 0 flex-gutter() 0 0;
|
||||
|
||||
.review-task {
|
||||
margin-bottom: ($baseline*1.5);
|
||||
padding: ($baseline*0.75) $baseline;
|
||||
border-radius: ($baseline/10);
|
||||
background: $m-gray-l4;
|
||||
.title {
|
||||
@extend %hd-lv4;
|
||||
margin-bottom: ($baseline/4);
|
||||
}
|
||||
|
||||
&:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
.copy {
|
||||
@extend %t-copy-sub1;
|
||||
@extend %t-weight3;
|
||||
}
|
||||
|
||||
> .title {
|
||||
@extend %hd-lv3;
|
||||
}
|
||||
.list-actions {
|
||||
margin-top: ($baseline/2);
|
||||
}
|
||||
|
||||
.copy {
|
||||
@extend %copy-base;
|
||||
|
||||
strong {
|
||||
@extend %t-weight5;
|
||||
color: $m-gray-d4;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// individual task - name
|
||||
.review-task-name {
|
||||
@include clearfix();
|
||||
|
||||
.copy {
|
||||
float: left;
|
||||
width: flex-grid(8,12);
|
||||
margin-right: flex-gutter();
|
||||
}
|
||||
|
||||
.list-actions {
|
||||
position: relative;
|
||||
top: -($baseline);
|
||||
float: left;
|
||||
width: flex-grid(4,12);
|
||||
text-align: right;
|
||||
|
||||
.action-editname a {
|
||||
@extend %btn-primary-blue;
|
||||
@include font-size(14);
|
||||
padding: ($baseline/2) ($baseline*.75);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.nav-wizard {
|
||||
padding: ($baseline*.75) $baseline;
|
||||
|
||||
.prompt-verify {
|
||||
float: left;
|
||||
width: flex-grid(6,12);
|
||||
margin: 0 flex-gutter() 0 0;
|
||||
|
||||
.title {
|
||||
@extend %hd-lv4;
|
||||
margin-bottom: ($baseline/4);
|
||||
.action-verify label {
|
||||
@extend %t-copy-sub1;
|
||||
}
|
||||
}
|
||||
|
||||
.copy {
|
||||
@extend %t-copy-sub1;
|
||||
@extend %t-weight3;
|
||||
}
|
||||
|
||||
.list-actions {
|
||||
.wizard-steps {
|
||||
margin-top: ($baseline/2);
|
||||
}
|
||||
|
||||
.action-verify label {
|
||||
@extend %t-copy-sub1;
|
||||
}
|
||||
}
|
||||
.wizard-step {
|
||||
margin-right: flex-gutter();
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
|
||||
.wizard-steps {
|
||||
margin-top: ($baseline/2);
|
||||
|
||||
.wizard-step {
|
||||
margin-right: flex-gutter();
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
|
||||
&:last-child {
|
||||
margin-right: 0;
|
||||
&:last-child {
|
||||
margin-right: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.modal {
|
||||
.modal {
|
||||
|
||||
fieldset {
|
||||
margin-top: $baseline;
|
||||
}
|
||||
fieldset {
|
||||
margin-top: $baseline;
|
||||
}
|
||||
|
||||
.close-modal {
|
||||
@include font-size(24);
|
||||
color: $m-blue-d3;
|
||||
.close-modal {
|
||||
@include font-size(24);
|
||||
color: $m-blue-d3;
|
||||
|
||||
&:hover, &:focus {
|
||||
color: $m-blue-d1;
|
||||
border: none;
|
||||
&:hover, &:focus {
|
||||
color: $m-blue-d1;
|
||||
border: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -2,8 +2,9 @@
|
||||
<%! from django.core.urlresolvers import reverse %>
|
||||
<!--TODO replace this with something a clever deisgn person approves of-->
|
||||
<!--TODO replace this with a shiny loopy thing to actually print out all courses-->
|
||||
|
||||
% if reverifications["must_reverify"]:
|
||||
<div class="wrapper-msg">
|
||||
<div class="wrapper-msg urgency-high">
|
||||
<div class="msg msg-reverify has-actions">
|
||||
<div class="msg-content">
|
||||
<h2 class="title">${_("You need to re-verify to continue")}</h2>
|
||||
@@ -27,8 +28,8 @@
|
||||
%endif
|
||||
|
||||
%if reverifications["denied"]:
|
||||
<div class="wrapper-msg">
|
||||
<div class="msg msg-reverify has-actions">
|
||||
<div class="wrapper-msg urgency-low">
|
||||
<div class="msg msg-reverify is-dismissable">
|
||||
<div class="msg-content">
|
||||
<h2 class="title">${_("Your re-verification failed")}</h2>
|
||||
% for course_id, course_name, course_number, date, status in reverifications["denied"]:
|
||||
@@ -38,6 +39,9 @@
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="action-dismiss">
|
||||
<button class="button-dismiss"><i class="icon-remove-sign"></i> <span class="sr">Dismiss</span></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -2,31 +2,36 @@
|
||||
<%! from django.core.urlresolvers import reverse %>
|
||||
<!--TODO replace this with something a clever deisgn person approves of-->
|
||||
<!--TODO replace this with a shiny loopy thing to actually print out all courses-->
|
||||
% if reverifications["must_reverify"] or reverifications["pending"] or reverifications["denied"] or reverifications["approved"]:
|
||||
|
||||
<h2 class="title">${_("Re-verification now open for")}</h2>
|
||||
% if reverifications["must_reverify"] or reverifications["pending"] or reverifications["denied"] or reverifications["approved"]:
|
||||
<li class="status status-verification is-accepted">
|
||||
<span class="title status-title">${_("Re-verification now open for:")}</span>
|
||||
|
||||
<ul class="reverify-status-list">
|
||||
|
||||
% if reverifications["must_reverify"]:
|
||||
% for course_id, course_name, course_number, date, status in reverifications["must_reverify"]:
|
||||
${_('Must Reverify: <strong>{course_name}</strong>').format(course_name=course_name)}
|
||||
<li class="status-item is-open">${_('<i class="icon-circle"></i><span class="label">Re-verify now:</span> <span class="course-name"><a href="">{course_name}</span></a>').format(course_name=course_name)}</li>
|
||||
% endfor
|
||||
%endif
|
||||
|
||||
% if reverifications["pending"]:
|
||||
% for course_id, course_name, course_number, date, status in reverifications["pending"]:
|
||||
${_('Denied: <strong>{course_name}</strong>').format(course_name=course_name)}
|
||||
<li class="status-item is-pending">${_('<i class="icon-circle"></i><span class="label">Pending:</span> <span class="course-name"><a href="">{course_name}</span></a>').format(course_name=course_name)}</li>
|
||||
% endfor
|
||||
%endif
|
||||
|
||||
% if reverifications["denied"]:
|
||||
% for course_id, course_name, course_number, date, status in reverifications["denied"]:
|
||||
${_('Denied: <strong>{course_name}</strong>').format(course_name=course_name)}
|
||||
<li class="status-item is-denied">${_('<i class="icon-remove-sign"></i><span class="label">Denied:</span> <span class="course-name"><a href="">{course_name}</span></a>').format(course_name=course_name)}</li>
|
||||
% endfor
|
||||
%endif
|
||||
|
||||
% if reverifications["approved"]:
|
||||
% for course_id, course_name, course_number, date, status in reverifications["approved"]:
|
||||
${_('Denied: <strong>{course_name}</strong>').format(course_name=course_name)}
|
||||
<li class="status-item is-approved">${_('<i class="icon-ok"></i><span class="label">Approved:</span> <span class="course-name"><a href="">{course_name}</span></a>').format(course_name=course_name)}</li>
|
||||
% endfor
|
||||
%endif
|
||||
|
||||
%endif
|
||||
</ul>
|
||||
</li>
|
||||
%endif
|
||||
|
||||
Reference in New Issue
Block a user