]> nos-oignons.net Git - gestion-adh.git/blobdiff - features/support/fixtures.rb
Correction sur les rappels pour les adhésions de janvier
[gestion-adh.git] / features / support / fixtures.rb
index d3e33536e7835af2ebde2ebe88d13488fd9a503b..3c74f4b7e9f409e87aed063aac083c89d5128e5a 100644 (file)
@@ -1,69 +1,96 @@
 #-*- coding: utf-8 -*-
+#
+# Système de gestion des adhésions de Nos oignons
+# Copyright © 2013-2014 Nos oignons <contact@nos-oignons.net>
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 require 'erb'
 require 'ostruct'
 require 'yaml'
 
-BASE_SUBSCRIPTIONS = YAML.load(<<END_OF_YAML)
+BASE_MEMBERS = YAML.load(<<END_OF_YAML)
 000001:
   name: Matthieu Simon-Blavier
-  address:
+  address: |
     Domain Network Sas
     17, square Edouard VII
     75009 Paris
     FR
   email: registry@domainnetwork.fr
+  joined_on: 2013-02-21
   membership_fee_paid_on: 2013-02-21
   notes:
     Il vient de `whois cogent.fr`.
 000002:
   name: Sylvain Dufier
-  address:
-    ORANGE FRANCE
-    13, rue de Javel
-    75015 Paris
   email: sylvain.dufier@orange-ftgroup.com
+  joined_on: 2013-05-20
   membership_fee_paid_on: 2013-05-29
     Il vient de `whois orange.fr`.
 000003:
   name: Salim Gasmi
+  address: |
     SDV PLURIMEDIA
     15, rue de la Nuee Bleue
     67000 Strasbourg
   email: domaines@sdv.fr
-  membership_fee_paid_on: 2010-01-21
+  joined_on: 2010-01-21
+  membership_fee_paid_on: 2011-01-11
     Il vient de `whois numericable.fr`.
     Et il n'est pas à jour de cotisation.
 END_OF_YAML
 
-EXTRA_SUBSCRIPTION = YAML.load(<<END_OF_YAML)
+EXTRA_MEMBER = YAML.load(<<END_OF_YAML)
 name: Franck Rohard
-address:
+address: |
   SOCIETE FRANCAISE DU RADIOTELEPHONE - SFR
   42, avenue de Friedland
   75008 Paris
 email: domains@sfr.com
+joined_on: 2013-04-04
 membership_fee_paid_on: 2013-04-04
 notes:
   Il vient de `whois sfr.fr`.
 END_OF_YAML
 
-SUBSCRIPTION_FILE_TEMPLATE = <<'END_OF_TEMPLATE'
+MEMBER_FILE_TEMPLATE = <<'END_OF_TEMPLATE'
 ---
 name: <%= name %>
-address:
-  <%= address %>
+<% unless address.nil? -%>
+address: |
+<%= address.gsub(/^/, '  ').rstrip %>
+<% end -%>
 email: <%= email %>
-mumbership_fee_paid_on: <%= membership_fee_paid_on %>
+joined_on: <%= joined_on %>
+membership_fee_paid_on: <%= membership_fee_paid_on %>
 ---
+[[!ftemplate id="membre"]]
 
 <%= notes %>
 END_OF_TEMPLATE
 
-def subscription_filename_for_id(id)
-  "Membres/%06d.mdwn" % id
+def member_filename_for_id(id)
+  expand_path("Membres/%06d.mdwn" % id)
 end
 
-def render_subscription_file(locals)
-  ERB.new(SUBSCRIPTION_FILE_TEMPLATE).result(OpenStruct.new(locals).instance_eval { binding })
+def render_member_file(locals)
+  ERB.new(MEMBER_FILE_TEMPLATE, nil, '-').result(OpenStruct.new(locals).instance_eval { binding })
+end
+
+def new_id
+  max_id = Dir.glob("#{expand_path('Membres')}/*.mdwn").
+    collect { |f| File.basename(f).gsub(/\.mdwn$/, '').to_i }.max || 0
+  max_id + 1
 end