mirror of
https://github.com/nishiki/manage-password.git
synced 2024-11-26 23:33:03 +00:00
add select form when multiple result
This commit is contained in:
parent
40291632eb
commit
f5b98de4c1
5 changed files with 37 additions and 10 deletions
|
@ -31,6 +31,9 @@ en:
|
|||
upload: "Can't upload the file on the server!"
|
||||
unknown: "An unknown error is occured!"
|
||||
|
||||
warning:
|
||||
select: 'Your choice is not a valid element!'
|
||||
|
||||
option:
|
||||
usage: "Usage"
|
||||
show: "Search and show the items"
|
||||
|
@ -51,6 +54,7 @@ en:
|
|||
help: "Show this help message"
|
||||
|
||||
form:
|
||||
select: "Select the item: "
|
||||
add:
|
||||
title: "Add a new item"
|
||||
name: "Enter the name: "
|
||||
|
@ -122,6 +126,7 @@ en:
|
|||
port: "Port"
|
||||
protocol: "Protocol"
|
||||
server: "Server"
|
||||
warning: "Warning"
|
||||
|
||||
ssh:
|
||||
option:
|
||||
|
|
|
@ -31,6 +31,9 @@ fr:
|
|||
upload: "Impossible d'envoyer le fichier sur le serveur!"
|
||||
unknown: "Une erreur inconnue est survenue!"
|
||||
|
||||
warning:
|
||||
select: "Votre choix n'est pas un élément valide!"
|
||||
|
||||
option:
|
||||
usage: "Utilisation"
|
||||
show: "Recherche et affiche les éléments"
|
||||
|
@ -51,6 +54,7 @@ fr:
|
|||
help: "Affiche ce message d'aide"
|
||||
|
||||
form:
|
||||
select: "Sélectionner l'élément: "
|
||||
add:
|
||||
title: "Ajout d'un nouvel élément"
|
||||
name: "Entrez le nom: "
|
||||
|
@ -122,6 +126,7 @@ fr:
|
|||
port: "Port"
|
||||
protocol: "Protocol"
|
||||
server: "Serveur"
|
||||
warning: "Warning"
|
||||
|
||||
ssh:
|
||||
option:
|
||||
|
|
|
@ -90,7 +90,7 @@ module MPW
|
|||
file << msg['data']
|
||||
end
|
||||
|
||||
mpw = MPW.new(tmp_file)
|
||||
mpw = MPW.new(tmp_file, @gpg_key)
|
||||
if not mpw.decrypt(gpg_password)
|
||||
@error_msg = mpw.error_msg
|
||||
return nil
|
||||
|
|
|
@ -166,21 +166,37 @@ class Cli
|
|||
# Display the query's result
|
||||
# @args: search -> the string to search
|
||||
# protocol -> search from a particular protocol
|
||||
def display(search, protocol=nil, group=nil, format=nil)
|
||||
def display(search, protocol=nil, group=nil)
|
||||
result = @mpw.search(search, group, protocol)
|
||||
|
||||
if not result.empty?
|
||||
result.each do |r|
|
||||
display_item(r)
|
||||
end
|
||||
else
|
||||
case result.length
|
||||
when 0
|
||||
puts I18n.t('display.nothing')
|
||||
when 1
|
||||
display_item(result.first)
|
||||
else
|
||||
i = 1
|
||||
result.each do |r|
|
||||
print "#{i}: ".cyan
|
||||
print r['name']
|
||||
print " -> #{r['comment']}".magenta if not r['comment'].to_s.empty?
|
||||
print "\n"
|
||||
|
||||
i += 1
|
||||
end
|
||||
choice = ask(I18n.t('form.select')).to_i
|
||||
|
||||
if choice >= 1 and choice < i
|
||||
display_item(result[choice-1])
|
||||
else
|
||||
puts "#{I18n.t('display.warning')}: #{I18n.t('warning.select')}".yellow
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
# Display an item in the default format
|
||||
# @args: item -> an array with the item information
|
||||
def diplay_item(item)
|
||||
def display_item(item)
|
||||
puts '--------------------'
|
||||
puts "Id: #{item['id']}"
|
||||
puts "#{I18n.t('display.name')}: #{item['name']}"
|
||||
|
@ -193,6 +209,7 @@ class Cli
|
|||
puts "#{I18n.t('display.comment')}: #{item['comment']}"
|
||||
end
|
||||
|
||||
|
||||
# Form to add a new item
|
||||
def add
|
||||
row = []
|
||||
|
|
2
mpw
2
mpw
|
@ -133,7 +133,7 @@ cli.sync
|
|||
|
||||
# Display the item's informations
|
||||
if not options[:display].nil?
|
||||
cli.display(options[:display], options[:group], options[:type], options[:format])
|
||||
cli.display(options[:display], options[:group], options[:type])
|
||||
|
||||
# Remove an item
|
||||
elsif not options[:remove].nil?
|
||||
|
|
Loading…
Reference in a new issue