Skip to content
Extraits de code Groupes Projets
Valider beefcf6f rédigé par Christian Proust's avatar Christian Proust
Parcourir les fichiers

Implement the feature

parent c7cc2fae
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
class Export
def self.members_list(export_file)
# Get the template for file list
template = File.read(File.join(
"#{Rails.root}", 'app', 'views', 'members', 'list.text.erb'))
_members_list(export_file, Member)
end
# Generate file content
@members = Member.all
result = ERB.new(template, nil, '-').result(binding)
def self.vpn_members_list(export_file)
_members_list(export_file, Member.includes(:services).where(services: {
type: 'VpnService', active: true
}))
end
# Write file content
File.open(export_file, 'w') do |f|
f.write(result)
end
def self.radio_members_list(export_file)
_members_list(export_file, Member.includes(:services).where(services: {
type: 'RadioService', active: true
}))
end
def self.tunnel_radius(export_path)
......@@ -50,4 +51,20 @@ class Export
digest = OpenSSL::Digest::SHA256.file(export_file)
File.open(export_file + ".sha256", 'w') {|f| f.write(digest.to_s) }
end
private
def self._members_list(export_file, members)
# Get the template for file list
template = File.read(File.join(
"#{Rails.root}", 'app', 'views', 'members', 'list.text.erb'))
# Generate file content
@members = members.uniq.order(:id)
result = ERB.new(template, nil, '-').result(binding)
# Write file content
File.open(export_file, 'w') do |f|
f.write(result)
end
end
end
......@@ -6,6 +6,19 @@ namespace :export do
Export.members_list export_file
end
desc "Export the radio members list"
task :radio_members_list, [:export_file] => :environment do |t, args|
export_file = args[:export_file].to_s
abort "Empty export file given" if export_file.empty?
Export.radio_members_list export_file
end
desc "Export the vpn members list"
task :vpn_members_list, [:export_file] => :environment do |t, args|
export_file = args[:export_file].to_s
abort "Empty export file given" if export_file.empty?
Export.vpn_members_list export_file
end
desc "Generate the vpn data export for the radius"
task :tunnel_radius, [:export_path] => :environment do |t, args|
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter