Browse Source

Display inactive subscriptions in the subscription list

Baptiste Jonglez 10 years ago
parent
commit
13cd2144d1

+ 9 - 0
coin/members/models.py

@@ -126,6 +126,15 @@ class Member(CoinLdapSyncMixin, AbstractUser):
             Q(subscription_date__lte=date),
             Q(resign_date__isnull=True) | Q(resign_date__gte=date))
 
+    def get_inactive_subscriptions(self, date=datetime.date.today()):
+        """
+        Return list of OfferSubscription which are not active today
+        """
+        return OfferSubscription.objects.filter(
+            Q(member__exact=self.pk),
+            Q(subscription_date__gt=date) |
+            Q(resign_date__lt=date))
+
     def get_automatic_username(self):
         """
         Calcul le username / ldap cn automatiquement en fonction

+ 10 - 0
coin/members/templates/members/subscriptions.html

@@ -26,6 +26,16 @@
             
         </tr>
         {% endfor %}
+        {% for subscription in old_subscriptions %}
+        <tr class="inactive">
+            <td>{{ subscription.offer.get_configuration_type_display }}</td>
+            <td>{{ subscription.offer.name }}</td>
+            <td>{{ subscription.subscription_date }}</td>
+            <td>{{ subscription.resign_date|default_if_none:"" }}</td>
+            <td>{{ subscription.configuration.comment }}</td>
+            <td></td>
+        </tr>
+        {% endfor %}
     </tbody>
 </table>
 <!--

+ 4 - 1
coin/members/views.py

@@ -22,9 +22,12 @@ def detail(request):
 @login_required
 def subscriptions(request):
     subscriptions = request.user.get_active_subscriptions()
+    old_subscriptions = request.user.get_inactive_subscriptions()
+    print(old_subscriptions)
 
     return render_to_response('members/subscriptions.html',
-                              {'subscriptions': subscriptions},
+                              {'subscriptions': subscriptions,
+                               'old_subscriptions': old_subscriptions},
                               context_instance=RequestContext(request))
 
 

+ 4 - 0
coin/static/css/illyse.css

@@ -220,6 +220,10 @@ a.cfglink {
 	white-space: nowrap;
 }
 
+tr.inactive {
+    opacity: 0.3;
+}
+
 /* Champs éditables */
 
 .flatform:before {