X-Git-Url: https://nos-oignons.net/gitweb/gestion-adh.git/blobdiff_plain/635887918e9c4b5c8278e4a45958420175a4024a..2f6f90379a51f45d52d0a31650c214b619c703db:/features/support/fixtures.rb?ds=inline diff --git a/features/support/fixtures.rb b/features/support/fixtures.rb index d3e3353..3c74f4b 100644 --- a/features/support/fixtures.rb +++ b/features/support/fixtures.rb @@ -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