From 55c49b440084f647f0be1f3bb9ae8a7c94df6b99 Mon Sep 17 00:00:00 2001
From: Alexandre Morignot <erdnaxeli@cervoi.se>
Date: Thu, 19 Feb 2015 01:33:27 +0100
Subject: [PATCH] Sam::commands::list handle calendars

---
 Sam/commands/list.pm   | 8 +++++---
 Sam/commands/parser.pm | 2 +-
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/Sam/commands/list.pm b/Sam/commands/list.pm
index e563781..610fb14 100644
--- a/Sam/commands/list.pm
+++ b/Sam/commands/list.pm
@@ -17,13 +17,15 @@ sub exec {
     my $chan = shift;
     my $sth;
 
+    my $calendar_id = Sam::Chan->new(name => $chan)->load->calendar_id;
     my $events = Sam::Event::Manager->get_events(
         query   =>
         [
-            date => { 'gt' => DateTime->now() },
+            'date'          => { 'gt' => DateTime->now() },
+            'calendar_id'   => $calendar_id,
         ],
         sort_by => 'date',
-        limit   => ($chan->[0] =~ /^#/) ? 2 : 10,
+        limit   => ($chan =~ /^#/) ? 2 : 10,
     );
 
     if (scalar @{$events} == 0) {
@@ -45,7 +47,7 @@ sub exec {
     );
 
     $events_nb -= 2;
-    $events_nb -= 8 if ($chan->[0] !~ /^#/); # query
+    $events_nb -= 8 if ($chan !~ /^#/); # query
 
     if ($events_nb > 0) {
         my $msg = $events_nb . " autre";
diff --git a/Sam/commands/parser.pm b/Sam/commands/parser.pm
index 9fa8ec9..aa67093 100644
--- a/Sam/commands/parser.pm
+++ b/Sam/commands/parser.pm
@@ -111,7 +111,7 @@ sub exec {
         }
     }
     elsif ($msg =~ /^Sam(?:,|:) +liste/) {
-        Sam::commands::list::exec($chan);
+        Sam::commands::list::exec($chan->[0]);
     }
     elsif ($msg =~ /^Sam(?:,|:) +(help|aide)/) {
 		$irc->yield(privmsg => $nick => 'Sam: <titre de la soirée> le jj/mm/aa @ <salle/lieu> : <description>');
-- 
GitLab