merge upstream/master and resolve conflicts from https://github.com/openstreetmap/openstreetmap-website/pull/1318
This commit is contained in:
commit
be40536440
35 changed files with 786 additions and 521 deletions
|
@ -28,7 +28,7 @@ class DiaryEntryController < ApplicationController
|
|||
# Subscribe user to diary comments
|
||||
@diary_entry.subscriptions.create(:user => @user)
|
||||
|
||||
redirect_to :controller => "diary_entry", :action => "list", :display_name => @user.display_name
|
||||
redirect_to :action => "list", :display_name => @user.display_name
|
||||
else
|
||||
render :action => "edit"
|
||||
end
|
||||
|
@ -46,9 +46,9 @@ class DiaryEntryController < ApplicationController
|
|||
@diary_entry = DiaryEntry.find(params[:id])
|
||||
|
||||
if @user != @diary_entry.user
|
||||
redirect_to :controller => "diary_entry", :action => "view", :id => params[:id]
|
||||
redirect_to :action => "view", :id => params[:id]
|
||||
elsif params[:diary_entry] && @diary_entry.update_attributes(entry_params)
|
||||
redirect_to :controller => "diary_entry", :action => "view", :id => params[:id]
|
||||
redirect_to :action => "view", :id => params[:id]
|
||||
end
|
||||
|
||||
set_map_location
|
||||
|
@ -72,7 +72,7 @@ class DiaryEntryController < ApplicationController
|
|||
# Add the commenter to the subscribers if necessary
|
||||
@entry.subscriptions.create(:user => @user) unless @entry.subscribers.exists?(@user.id)
|
||||
|
||||
redirect_to :controller => "diary_entry", :action => "view", :display_name => @entry.user.display_name, :id => @entry.id
|
||||
redirect_to :action => "view", :display_name => @entry.user.display_name, :id => @entry.id
|
||||
else
|
||||
render :action => "view"
|
||||
end
|
||||
|
@ -85,7 +85,7 @@ class DiaryEntryController < ApplicationController
|
|||
|
||||
diary_entry.subscriptions.create(:user => @user) unless diary_entry.subscribers.exists?(@user.id)
|
||||
|
||||
redirect_to :controller => "diary_entry", :action => "view", :display_name => diary_entry.user.display_name, :id => diary_entry.id
|
||||
redirect_to :action => "view", :display_name => diary_entry.user.display_name, :id => diary_entry.id
|
||||
rescue ActiveRecord::RecordNotFound
|
||||
render :action => "no_such_entry", :status => :not_found
|
||||
end
|
||||
|
@ -95,7 +95,7 @@ class DiaryEntryController < ApplicationController
|
|||
|
||||
diary_entry.subscriptions.where(:user => @user).delete_all if diary_entry.subscribers.exists?(@user.id)
|
||||
|
||||
redirect_to :controller => "diary_entry", :action => "view", :display_name => diary_entry.user.display_name, :id => diary_entry.id
|
||||
redirect_to :action => "view", :display_name => diary_entry.user.display_name, :id => diary_entry.id
|
||||
rescue ActiveRecord::RecordNotFound
|
||||
render :action => "no_such_entry", :status => :not_found
|
||||
end
|
||||
|
@ -232,7 +232,7 @@ class DiaryEntryController < ApplicationController
|
|||
def require_administrator
|
||||
unless @user.administrator?
|
||||
flash[:error] = t("user.filter.not_an_administrator")
|
||||
redirect_to :controller => "diary_entry", :action => "view"
|
||||
redirect_to :action => "view"
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@ class MessageController < ApplicationController
|
|||
if @message.save
|
||||
flash[:notice] = t "message.new.message_sent"
|
||||
Notifier.message_notification(@message).deliver_now
|
||||
redirect_to :controller => "message", :action => "inbox", :display_name => @user.display_name
|
||||
redirect_to :action => "inbox", :display_name => @user.display_name
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -81,7 +81,7 @@ class MessageController < ApplicationController
|
|||
@title = t "message.inbox.title"
|
||||
if @user && params[:display_name] == @user.display_name
|
||||
else
|
||||
redirect_to :controller => "message", :action => "inbox", :display_name => @user.display_name
|
||||
redirect_to :action => "inbox", :display_name => @user.display_name
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -90,7 +90,7 @@ class MessageController < ApplicationController
|
|||
@title = t "message.outbox.title"
|
||||
if @user && params[:display_name] == @user.display_name
|
||||
else
|
||||
redirect_to :controller => "message", :action => "outbox", :display_name => @user.display_name
|
||||
redirect_to :action => "outbox", :display_name => @user.display_name
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -107,7 +107,7 @@ class MessageController < ApplicationController
|
|||
@message.message_read = message_read
|
||||
if @message.save && !request.xhr?
|
||||
flash[:notice] = notice
|
||||
redirect_to :controller => "message", :action => "inbox", :display_name => @user.display_name
|
||||
redirect_to :action => "inbox", :display_name => @user.display_name
|
||||
end
|
||||
rescue ActiveRecord::RecordNotFound
|
||||
@title = t "message.no_such_message.title"
|
||||
|
@ -125,7 +125,7 @@ class MessageController < ApplicationController
|
|||
if params[:referer]
|
||||
redirect_to params[:referer]
|
||||
else
|
||||
redirect_to :controller => "message", :action => "inbox", :display_name => @user.display_name
|
||||
redirect_to :action => "inbox", :display_name => @user.display_name
|
||||
end
|
||||
end
|
||||
rescue ActiveRecord::RecordNotFound
|
||||
|
|
|
@ -316,7 +316,7 @@ class NotesController < ApplicationController
|
|||
end
|
||||
|
||||
##
|
||||
# Generate a condition to choose which bugs we want based
|
||||
# Generate a condition to choose which notes we want based
|
||||
# on their status and the user's request parameters
|
||||
def closed_condition(notes)
|
||||
closed_since = if params[:closed]
|
||||
|
|
|
@ -95,11 +95,11 @@ class TraceController < ApplicationController
|
|||
@title = t "trace.view.title", :name => @trace.name
|
||||
else
|
||||
flash[:error] = t "trace.view.trace_not_found"
|
||||
redirect_to :controller => "trace", :action => "list"
|
||||
redirect_to :action => "list"
|
||||
end
|
||||
rescue ActiveRecord::RecordNotFound
|
||||
flash[:error] = t "trace.view.trace_not_found"
|
||||
redirect_to :controller => "trace", :action => "list"
|
||||
redirect_to :action => "list"
|
||||
end
|
||||
|
||||
def create
|
||||
|
|
|
@ -142,7 +142,7 @@ class UserController < ApplicationController
|
|||
@user.data_public = true
|
||||
@user.save
|
||||
flash[:notice] = t "user.go_public.flash success"
|
||||
redirect_to :controller => "user", :action => "account", :display_name => @user.display_name
|
||||
redirect_to :action => "account", :display_name => @user.display_name
|
||||
end
|
||||
|
||||
def lost_password
|
||||
|
@ -423,7 +423,7 @@ class UserController < ApplicationController
|
|||
if params[:referer]
|
||||
redirect_to params[:referer]
|
||||
else
|
||||
redirect_to :controller => "user", :action => "view"
|
||||
redirect_to :action => "view"
|
||||
end
|
||||
end
|
||||
else
|
||||
|
@ -446,7 +446,7 @@ class UserController < ApplicationController
|
|||
if params[:referer]
|
||||
redirect_to params[:referer]
|
||||
else
|
||||
redirect_to :controller => "user", :action => "view"
|
||||
redirect_to :action => "view"
|
||||
end
|
||||
end
|
||||
else
|
||||
|
@ -459,14 +459,14 @@ class UserController < ApplicationController
|
|||
def set_status
|
||||
@this_user.status = params[:status]
|
||||
@this_user.save
|
||||
redirect_to :controller => "user", :action => "view", :display_name => params[:display_name]
|
||||
redirect_to :action => "view", :display_name => params[:display_name]
|
||||
end
|
||||
|
||||
##
|
||||
# delete a user, marking them as deleted and removing personal data
|
||||
def delete
|
||||
@this_user.delete
|
||||
redirect_to :controller => "user", :action => "view", :display_name => params[:display_name]
|
||||
redirect_to :action => "view", :display_name => params[:display_name]
|
||||
end
|
||||
|
||||
##
|
||||
|
@ -628,7 +628,7 @@ class UserController < ApplicationController
|
|||
# - If they were referred to the login, send them back there.
|
||||
# - Otherwise, send them to the home page.
|
||||
if REQUIRE_TERMS_SEEN && !user.terms_seen
|
||||
redirect_to :controller => :user, :action => :terms, :referer => target
|
||||
redirect_to :action => :terms, :referer => target
|
||||
elsif user.blocked_on_view
|
||||
redirect_to user.blocked_on_view, :referer => target
|
||||
else
|
||||
|
@ -740,12 +740,12 @@ class UserController < ApplicationController
|
|||
flash[:error] = t("user.filter.not_an_administrator")
|
||||
|
||||
if params[:display_name]
|
||||
redirect_to :controller => "user", :action => "view", :display_name => params[:display_name]
|
||||
redirect_to :action => "view", :display_name => params[:display_name]
|
||||
else
|
||||
redirect_to :controller => "user", :action => "login", :referer => request.fullpath
|
||||
redirect_to :action => "login", :referer => request.fullpath
|
||||
end
|
||||
elsif !@user
|
||||
redirect_to :controller => "user", :action => "login", :referer => request.fullpath
|
||||
redirect_to :action => "login", :referer => request.fullpath
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -768,7 +768,7 @@ class UserController < ApplicationController
|
|||
def lookup_user_by_name
|
||||
@this_user = User.find_by_display_name(params[:display_name])
|
||||
rescue ActiveRecord::RecordNotFound
|
||||
redirect_to :controller => "user", :action => "view", :display_name => params[:display_name] unless @this_user
|
||||
redirect_to :action => "view", :display_name => params[:display_name] unless @this_user
|
||||
end
|
||||
|
||||
##
|
||||
|
|
|
@ -24,7 +24,7 @@ bn:
|
|||
changeset_tag: পরিবর্তনধার্য ট্যাগ
|
||||
country: দেশ
|
||||
diary_comment: ডাইরি মন্তব্য
|
||||
diary_entry: ডাইরি এন্ট্রি
|
||||
diary_entry: ডাইরি ভুক্তি
|
||||
friend: বন্ধু
|
||||
language: ভাষা
|
||||
message: বার্তা
|
||||
|
@ -50,14 +50,14 @@ bn:
|
|||
user_preference: ব্যবহারকারীর পছন্দ
|
||||
user_token: ব্যবহারকারী টোকেন
|
||||
way: রাস্তা
|
||||
way_node: ওয়ে নোড
|
||||
way_tag: ওয়ে ট্যাগ
|
||||
way_node: রাস্তার নোড
|
||||
way_tag: রাস্তার ট্যাগ
|
||||
attributes:
|
||||
diary_comment:
|
||||
body: বডি
|
||||
body: মূলাংশ
|
||||
diary_entry:
|
||||
user: ব্যবহারকারী
|
||||
title: শিরোনাম
|
||||
title: বিষয়
|
||||
latitude: অক্ষাংশ
|
||||
longitude: দ্রাঘিমাংশ
|
||||
language: ভাষা
|
||||
|
@ -105,8 +105,8 @@ bn:
|
|||
closed_html: <abbr title='%{title}'>%{time} আগে</abbr> বন্ধ
|
||||
created_by_html: '%{user} কর্তৃক <abbr title=''%{title}''>%{time} আগে</abbr> তৈরি'
|
||||
deleted_by_html: '%{user} কর্তৃক <abbr title=''%{title}''>%{time}আগে</abbr> অপসারণ'
|
||||
edited_by_html: '%{user} কর্তৃক <abbr title=''%{title}''>%{time}আগে</abbr> সম্পাদিত'
|
||||
closed_by_html: '%{user} কর্তৃক <abbr title=''%{title}''>%{time}আগে</abbr> বন্ধ'
|
||||
edited_by_html: '%{user} কর্তৃক <abbr title=''%{title}''>%{time} আগে</abbr> সম্পাদিত'
|
||||
closed_by_html: '%{user} কর্তৃক <abbr title=''%{title}''>%{time} আগে</abbr> বন্ধ'
|
||||
version: সংস্করণ
|
||||
in_changeset: পরিবর্তনসমূহ
|
||||
anonymous: নামহীন
|
||||
|
@ -126,9 +126,9 @@ bn:
|
|||
relation: সম্পর্ক (%{count}টি)
|
||||
relation_paginated: সম্পর্ক (%{count}টির %{x}-%{y})
|
||||
comment: মন্তব্য (%{count}টি)
|
||||
hidden_commented_by: '%{user} থেকে মন্তব্য লুকান <abbr title=''%{exact_time}''>%{when}
|
||||
আগে</abbr>'
|
||||
commented_by: '%{user} থেকে মন্তব্য <abbr title=''%{exact_time}''>%{when} আগে</abbr>'
|
||||
hidden_commented_by: '%{user} থেকে <abbr title=''%{exact_time}''>%{when} আগের</abbr>
|
||||
মন্তব্য লুকান'
|
||||
commented_by: <abbr title='%{exact_time}'>%{when} আগে</abbr> %{user} থেকে মন্তব্য
|
||||
changesetxml: পরিবর্তনধার্য এক্সএমএল
|
||||
osmchangexml: osmChange এক্সএমএল
|
||||
feed:
|
||||
|
@ -175,8 +175,8 @@ bn:
|
|||
note: টীকা
|
||||
redacted:
|
||||
redaction: সম্পর্ক %{id}
|
||||
message_html: কোনও কারণে %{type}-এর %{version} সংস্করণটি দেখানো যাবেনা। বিস্তারিত
|
||||
জানতে %{redaction_link} লিংকটি দেখুন।
|
||||
message_html: কোনও কারণে %{type}-এর %{version} সংস্করণটি দেখানো যাবে না। বিস্তারিত
|
||||
জানতে %{redaction_link} দেখুন।
|
||||
type:
|
||||
node: সংযোগস্থল
|
||||
way: দিক
|
||||
|
@ -198,16 +198,16 @@ bn:
|
|||
title: টীকা:%{id}
|
||||
new_note: নতুন টীকা
|
||||
description: 'বর্ণনা:'
|
||||
open_title: অসমাধিত টীকা %{note_name}
|
||||
closed_title: সমাধান করা টীকা#%{note_name}
|
||||
hidden_title: লুকানো টীকা#%{note_name}
|
||||
open_title: 'অমীমাংসিত টীকা #%{note_name}'
|
||||
closed_title: 'মীমাংসিত টীকা #%{note_name}'
|
||||
hidden_title: 'লুকানো টীকা #%{note_name}'
|
||||
open_by: '%{user} কর্তৃক <abbr title=''%{exact_time}''>%{when} আগে</abbr> তৈরি'
|
||||
open_by_anonymous: বেনামী ব্যবহারকারী কর্তৃক <abbr title='%{exact_time}'>%{when}
|
||||
আগে</abbr> তৈরি
|
||||
commented_by: '%{user} কর্তৃক <abbr title=''%{exact_time}''>%{when} আগে</abbr>
|
||||
দেয়া মন্তব্য'
|
||||
commented_by_anonymous: বেনামী ব্যবহারকারী কর্তৃক <abbr title='%{exact_time}'>%{when}
|
||||
আগে</abbr> দেয়া মন্তব্য
|
||||
commented_by: '%{user} কর্তৃক করা <abbr title=''%{exact_time}''>%{when} আগের</abbr>
|
||||
মন্তব্য'
|
||||
commented_by_anonymous: বেনামি ব্যবহারকারী কর্তৃক করা <abbr title='%{exact_time}'>%{when}
|
||||
আগের</abbr> মন্তব্য
|
||||
closed_by: '%{user} কর্তৃক <abbr title=''%{exact_time}''>%{when} আগে</abbr>
|
||||
মীমাংসিত'
|
||||
closed_by_anonymous: বেনামি ব্যবহারকারী দ্বারা <abbr title='%{exact_time}'>%{when}
|
||||
|
@ -224,7 +224,7 @@ bn:
|
|||
enclosing: আবদ্ধ বৈশিষ্ট্য
|
||||
changeset:
|
||||
changeset_paging_nav:
|
||||
showing_page: '%{page} পাতা'
|
||||
showing_page: '%{page}টি পাতা'
|
||||
next: পরবর্তী »
|
||||
previous: « পূর্ববর্তী
|
||||
changeset:
|
||||
|
@ -351,7 +351,7 @@ bn:
|
|||
advice: 'যদি উপরের রপ্তানি ব্যর্থ হয়, দয়া করে নীচে তালিকাভুক্ত উৎসের কোন
|
||||
একটি ব্যবহারের জন্য বিবেচনা করুন:'
|
||||
planet:
|
||||
title: ওএসএল জগৎ
|
||||
title: ওএসএম জগৎ
|
||||
description: সম্পূর্ণ ওপেনস্ট্রীটম্যাপ ডাটাবেসের নিয়মিত হালনাগাদের অনুলিপি
|
||||
overpass:
|
||||
title: ওভারপাস API
|
||||
|
@ -361,7 +361,7 @@ bn:
|
|||
title: অন্যান্য উৎস
|
||||
description: ওপেনস্ট্রীটম্যাপ উইকিতে তালিকাভুক্ত অতিরিক্ত সূত্র
|
||||
options: বিকল্প
|
||||
format: 'ফরম্যাট:'
|
||||
format: বিন্যাস
|
||||
scale: স্কেল
|
||||
max: সর্বোচ্চ
|
||||
image_size: চিত্রের আকার
|
||||
|
@ -442,10 +442,10 @@ bn:
|
|||
gambling: জুয়াখেলার আড্ডা
|
||||
grave_yard: কবরস্থান
|
||||
gym: ব্যায়াম কেন্দ্র / জিমখানা
|
||||
health_centre: স্বাস্থ কেন্দ্র
|
||||
health_centre: স্বাস্থকেন্দ্র
|
||||
hospital: হাসপাতাল
|
||||
hunting_stand: শিকারশালা
|
||||
ice_cream: আইস ক্রিম
|
||||
ice_cream: আইসক্রিম
|
||||
kindergarten: শিশুবিদ্যালয়
|
||||
library: পাঠাগার
|
||||
market: বাজার
|
||||
|
@ -584,7 +584,7 @@ bn:
|
|||
farmland: কৃষিজমি
|
||||
forest: অরণ্য
|
||||
garages: গ্যারেজ
|
||||
grass: ঘস
|
||||
grass: ঘাস
|
||||
greenfield: তৃণভূমি
|
||||
industrial: শিল্পাঞ্চল
|
||||
meadow: তৃণভূমি
|
||||
|
@ -719,7 +719,7 @@ bn:
|
|||
preserved: সংরক্ষিত রেলপথ
|
||||
proposed: প্রস্তাবিত রেলপথ
|
||||
station: রেল স্টেশন
|
||||
stop: রেল স্টপ
|
||||
stop: রেল থামার স্থান
|
||||
subway: ভূগর্ভস্থ পথ
|
||||
subway_entrance: ভূগর্ভস্থ পথের প্রবেশিকা
|
||||
tram: ট্রামপথ
|
||||
|
@ -757,7 +757,7 @@ bn:
|
|||
general: সাধারণ দোকান
|
||||
gift: উপহারের দোকান
|
||||
greengrocer: সবজিওয়ালা
|
||||
grocery: মুদির দোকান
|
||||
grocery: মুদি দোকান
|
||||
hairdresser: নাপিত
|
||||
hardware: যন্ত্রাংশের দোকান
|
||||
hifi: হাই-ফাই
|
||||
|
@ -773,7 +773,7 @@ bn:
|
|||
optician: চশমা বিক্রেতা
|
||||
organic: জৈব খাদ্যের দোকান
|
||||
pharmacy: ঔষধালয়
|
||||
photo: ফটোশপ
|
||||
photo: ছবির দোকান
|
||||
salon: সালোন
|
||||
second_hand: পুরনো-সামগ্রীর দোকান
|
||||
shoes: জুতোর দোকান
|
||||
|
@ -811,13 +811,14 @@ bn:
|
|||
lock_gate: ফটক বন্ধ
|
||||
mooring: নঙ্গরাবদ্ধকরণ
|
||||
river: নদী
|
||||
wadi: ওয়াদি
|
||||
waterfall: জলপ্রপাত
|
||||
"yes": জলপথ
|
||||
admin_levels:
|
||||
level2: রাষ্ট্রের সীমানা
|
||||
level4: রাজ্যের সীমানা
|
||||
level5: অঞ্চলের সীমানা
|
||||
level6: প্রদসের সীমানা
|
||||
level6: প্রদেশের সীমানা
|
||||
level8: নগরের সীমান
|
||||
level9: গ্রামের সীমানা
|
||||
level10: উপনগরের সীমানা
|
||||
|
@ -922,9 +923,9 @@ bn:
|
|||
notifier:
|
||||
diary_comment_notification:
|
||||
subject: '[OpenStreetMap] %{user} আপনার দিনলিপি ভুক্তিতে মন্তব্য করেছেন'
|
||||
hi: হাই %{to_user}
|
||||
hi: হাই %{to_user},
|
||||
message_notification:
|
||||
hi: হাই %{to_user}
|
||||
hi: হাই %{to_user},
|
||||
friend_notification:
|
||||
had_added_you: '%{user} আপনাকে ওপেনস্ট্রীটম্যাপে বন্ধু হিসেবে যোগ করেছেন।'
|
||||
see_their_profile: আপনি %{userurl}-এ তাদের প্রোফাইল দেখতে পারেন।
|
||||
|
@ -968,6 +969,11 @@ bn:
|
|||
outbox: আউটবক্স
|
||||
subject: বিষয়
|
||||
date: তারিখ
|
||||
people_mapping_nearby: কাছাকাছি অবদানকারী
|
||||
message_summary:
|
||||
unread_button: অপঠিত হিসেবে চিহ্নিত করুন
|
||||
read_button: পঠিত হিসেবে চিহ্নিত করুন
|
||||
reply_button: প্রত্যুত্তর
|
||||
site:
|
||||
key:
|
||||
table:
|
||||
|
@ -1137,7 +1143,7 @@ bn:
|
|||
destination_without_exit: গন্তব্যে পৌঁছানো
|
||||
against_oneway_without_exit: '%{name}-এ একমুখীর বিরুদ্ধে যান'
|
||||
end_oneway_without_exit: '%{name}-এর একমুখী শেষ'
|
||||
unnamed: বেনামি সড়ক
|
||||
unnamed: নামহীন সড়ক
|
||||
time: সময়
|
||||
query:
|
||||
node: সংযোগস্থল
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
# Author: Chase me ladies, I'm the Cavalry
|
||||
# Author: E THP
|
||||
# Author: EdLoach
|
||||
# Author: Eduard Popov
|
||||
# Author: Jagwar
|
||||
# Author: Kosovastar
|
||||
# Author: Macofe
|
||||
|
@ -2389,7 +2390,7 @@ en-GB:
|
|||
turn_left_without_exit: Turn left onto %{name}
|
||||
offramp_left_without_exit: Take the sliproad on the left onto %{name}
|
||||
onramp_left_without_exit: Turn left on the sliproad onto %{name}
|
||||
endofroad_left_without_exit: At the end of the road turn left onto %{name}
|
||||
endofroad_left_without_exit: В конце дороги поверните налево на %{name}
|
||||
merge_left_without_exit: Merge left onto %{name}
|
||||
fork_left_without_exit: At the fork turn left onto %{name}
|
||||
slight_left_without_exit: Slight left onto %{name}
|
||||
|
|
|
@ -2191,7 +2191,7 @@ en:
|
|||
key:
|
||||
title: "Map Key"
|
||||
tooltip: "Map Key"
|
||||
tooltip_disabled: "Map Key available only for Standard layer"
|
||||
tooltip_disabled: "Map Key not available for this layer"
|
||||
map:
|
||||
zoom:
|
||||
in: Zoom In
|
||||
|
|
|
@ -94,13 +94,13 @@ eo:
|
|||
default: Implicita (nune %{name})
|
||||
potlatch:
|
||||
name: Potlatch 1
|
||||
description: Potlatch 1 (en-retumila redaktilo)
|
||||
description: Potlatch 1 (en-foliumila redaktilo)
|
||||
id:
|
||||
name: iD
|
||||
description: iD (en-retumila redaktilo)
|
||||
description: iD (en-foliumila redaktilo)
|
||||
potlatch2:
|
||||
name: Potlatch 2
|
||||
description: Potlatch 2 (en-retumila redaktilo)
|
||||
description: Potlatch 2 (en-foliumila redaktilo)
|
||||
remote:
|
||||
name: ekstera redaktilo
|
||||
description: ekstera redaktilo (JOSM aŭ Merkaartor)
|
||||
|
@ -121,7 +121,7 @@ eo:
|
|||
download_xml: Elŝuti XML-on
|
||||
view_history: Vidi historion
|
||||
view_details: Montri detalojn
|
||||
location: 'Loko:'
|
||||
location: 'Pozicio:'
|
||||
changeset:
|
||||
title: 'Ŝanĝaro: %{id}'
|
||||
belongs_to: Aŭtoro
|
||||
|
@ -191,7 +191,7 @@ eo:
|
|||
way: linio
|
||||
relation: rilato
|
||||
start_rjs:
|
||||
feature_warning: Ŝarĝanta %{num_features} eblojn, kiuj eblas igi vian retumilon
|
||||
feature_warning: Ŝarĝanta %{num_features} eblojn, kiuj eblas igi vian foliumilon
|
||||
malrapida aŭ nerespondebla. Ĉu vi certe volas montri tiujn ĉi datumojn?
|
||||
load_data: Elŝuti datumojn
|
||||
loading: Ŝargante...
|
||||
|
@ -743,9 +743,9 @@ eo:
|
|||
airport: Flughaveno
|
||||
city: Urbego
|
||||
country: Lando
|
||||
county: Provinco
|
||||
county: Distrikto
|
||||
farm: Farmobieno
|
||||
hamlet: Vilaĝego
|
||||
hamlet: Vilaĝeto
|
||||
house: Domo
|
||||
houses: Domoj
|
||||
island: Insulo
|
||||
|
@ -754,13 +754,13 @@ eo:
|
|||
locality: Ejo
|
||||
moor: Arbustetaro
|
||||
municipality: Municipo
|
||||
neighbourhood: Kvartaleto
|
||||
neighbourhood: Najbaraĵo
|
||||
postcode: Poŝtkodo
|
||||
region: Regiono
|
||||
sea: Maro
|
||||
state: Subŝtato
|
||||
state: Provinco
|
||||
subdivision: Kvartalo
|
||||
suburb: Kvartalego
|
||||
suburb: Suburbo
|
||||
town: Urbo
|
||||
unincorporated_area: Ekstermunicipa tereno
|
||||
village: Vilaĝo
|
||||
|
@ -909,13 +909,13 @@ eo:
|
|||
weir: Riversojlo
|
||||
"yes": Akvovojo
|
||||
admin_levels:
|
||||
level2: Limo de lando
|
||||
level4: Limo de subŝtato
|
||||
level5: Limo de regiono
|
||||
level6: Limo de provinco
|
||||
level8: Limo de urbo
|
||||
level9: Limo de distrikto
|
||||
level10: Limo de kvartalego
|
||||
level2: Limo de lando (niv.2)
|
||||
level4: Limo de provinco (niv.4)
|
||||
level5: Limo de regiono (niv.5)
|
||||
level6: Limo de distrikto (niv.6)
|
||||
level8: Limo de urbo (niv.8)
|
||||
level9: Limo de kvartalo (niv.9)
|
||||
level10: Limo de subkvartalo (niv.10)
|
||||
description:
|
||||
title:
|
||||
osm_nominatim: Loko el <a href="http://nominatim.openstreetmap.org/">OpenStreetMap
|
||||
|
@ -998,7 +998,7 @@ eo:
|
|||
href="http://osmfoundation.org/">OpenStreetMap Foundation</a> (OSMF).
|
||||
intro_2_html: Vi rajtas kopii, disdoni, transdoni kaj modifi niajn datumojn,
|
||||
nur se vi atribuos aŭtorecon al OpenStreetMap kaj ĝiaj kontribuintoj. Se vi
|
||||
modifos aŭ uzos niajn datumojn, vi devos distribui la verkon sub la sama permesilo.
|
||||
modifos aŭ uzos niajn datumojn, vi povos distribui la verkon sub la sama permesilo.
|
||||
La plena <a href="http://opendatacommons.org/licenses/odbl/1.0/">interkonsento
|
||||
de uzado</a> eksplikas viajn rajtojn kaj devojn.
|
||||
intro_3_html: |-
|
||||
|
@ -1006,45 +1006,338 @@ eo:
|
|||
Commons Atribuite-Samkondiĉe 2.0</a> (CC BY-SA).
|
||||
credit_title_html: Kiel atribui aŭtorecon
|
||||
credit_1_html: 'Ni postulas, ke vi markos: “© Kontribuintoj de OpenStreetMap”.'
|
||||
credit_2_html: Vi ankaŭ devas klarigi, ke datumoj estas disponeblaj sub la permesilo
|
||||
Open Database License, kaj kartografio de map-kaheloj sub la permesilo CC
|
||||
BY-SA. Vi povas indiki tion per fari ligilon al <a href="http://www.openstreetmap.org/copyright">tiu
|
||||
ĉi paĝo pri permesilo</a>. Alimaniere, se vi distribuas OSM en datuma formo,
|
||||
vi povas mencii nomo(j)n kaj ligilo(j)n al la permesilo(j). Se ne estas eble
|
||||
meti ligilojn (ekz. en paperaj mapoj), ni sugestas direkti viajn legantojn
|
||||
al openstreetmap.org (eble meti plenan retadreson), al opendatacommons.org
|
||||
kaj (se necesas) al creativecommons.org.
|
||||
credit_3_html: |-
|
||||
En esploreblaj elektronikaj mapoj, la aŭtorecon povas esti montrata ĉe la angulo de mapo.
|
||||
Ekzemplo:
|
||||
attribution_example:
|
||||
alt: Ekzemplo kiel atribui OpenStreetMap sur retpaĝo
|
||||
title: Ekzemplo de aŭtorec-atribuado
|
||||
more_title_html: Sciigi pli
|
||||
more_1_html: |-
|
||||
Legu pli pri uzado de niaj datumoj kaj kiel atribui aŭtorecon, je la <a
|
||||
href="http://osmfoundation.org/Licence">retpaĝo de OSMF Licence</a> kaj je la <a
|
||||
href="http://wiki.openstreetmap.org/wiki/Legal_FAQ">paĝo de oftaj demandoj pri leĝo</a>.
|
||||
more_2_html: Kvankam la datumoj de OpenStreetMap estas liberaj, ni ne povas
|
||||
liveri senpagan API-on por eksteraj programistoj. Legu nian <a href="http://wiki.openstreetmap.org/wiki/API_usage_policy">politikon
|
||||
pri uzado de API</a>, <a href="http://wiki.openstreetmap.org/wiki/Tile_usage_policy">politikon
|
||||
pri uzado de kaheloj</a> kaj <a href="http://wiki.openstreetmap.org/wiki/Nominatim#Usage_Policy">poltikon
|
||||
pri uzado de Nominatim</a>.
|
||||
contributors_title_html: Kunlaborantoj
|
||||
contributors_intro_html: 'Niaj kunlaborantoj estas miloj da homoj. Ni ankaŭ
|
||||
inkludas datumoj sub malferma permesilo el landaj kartografiaj organizaĵoj
|
||||
kaj el aliaj fontoj, inter ili:'
|
||||
contributors_at_html: |-
|
||||
<strong>Aŭstrujo</strong>: enhavas datumojn el <a href="http://data.wien.gv.at/">Stadt Wien</a> (sub <a href="http://creativecommons.org/licenses/by/3.0/at/deed.eo">CC BY</a>),
|
||||
<a href="http://www.vorarlberg.at/vorarlberg/bauen_wohnen/bauen/vermessung_geoinformation/weitereinformationen/services/wmsdienste.htm">Land Vorarlberg</a> kaj
|
||||
Land Tirol (sub <a href="http://www.tirol.gv.at/applikationen/e-government/data/nutzungsbedingungen/">CC BY AT kun postaj ŝanĝoj</a>).
|
||||
contributors_ca_html: |-
|
||||
<strong>Kanado</strong>: enhavas datumojn el
|
||||
GeoBase®, GeoGratis (© Department of Natural
|
||||
Resources Canada), CanVec (© Department of Natural
|
||||
Resources Canada), kaj StatCan (Geography Division,
|
||||
Statistics Canada).
|
||||
contributors_fi_html: |-
|
||||
<strong>Suomujo</strong>: enhavas datumojn el
|
||||
National Land Survey of Finland's Topographic Database kaj aliaj fontoj, sub la <a href="http://www.maanmittauslaitos.fi/en/NLS_open_data_licence_version1_20120501">NLSFI permesilo</a>.
|
||||
contributors_fr_html: '<strong>Francujo</strong>: enhavas datumojn ricevitajn
|
||||
el ''Direction Générale des Impôts''.'
|
||||
contributors_nl_html: |-
|
||||
<strong>Nederlando</strong>: enhavas datumojn el © AND, 2007
|
||||
(<a href="http://www.and.com">www.and.com</a>).
|
||||
contributors_nz_html: '<strong>Nov-Zelando</strong>: enhavas datumojn ricevitajn
|
||||
el ''Land Information New Zealand''. Crown Copyright reserved.'
|
||||
contributors_si_html: |-
|
||||
<strong>Slovenujo</strong>: enhavas datumojn el <a href="http://www.gu.gov.si/">Ofico de Termezurado kaj Kartografio</a> kaj
|
||||
<a href="http://www.mkgp.gov.si/">Ministerio pri Terkulturo, Arbarkulturo kaj Proviantado</a>
|
||||
(publikaj informoj de Slovenujo).
|
||||
contributors_za_html: |-
|
||||
<strong>Sud-Afriko</strong>: enhavas datumojn ricevitajn el <a href="http://www.ngi.gov.za/">Chief Directorate:
|
||||
National Geo-Spatial Information</a>, landaj kopirajtoj rezervitaj.
|
||||
contributors_gb_html: |-
|
||||
<strong>Unuiĝinta Reĝlando</strong>: enhavas datumojn el 'Ordnance
|
||||
Survey' © Crown copyright and database right
|
||||
2010-12.
|
||||
contributors_footer_1_html: |-
|
||||
Por pli da detaloj pri ĉi tiuj kaj aliaj fontoj uzitaj por plibonigi OpenStreetMap, bonvolu viziti la <a
|
||||
href="http://wiki.openstreetmap.org/wiki/Contributors">paĝon pri kontribuintoj</a> en la OpenStreetMap-vikio.
|
||||
contributors_footer_2_html: Inkludo de datumoj en OpenStreetMap ne indikas,
|
||||
ke la provizanto de datumoj apogas OpenStreetMap, garantias por iu aŭ respondumas
|
||||
por iu.
|
||||
infringement_title_html: Rompo de kopirajtoj
|
||||
infringement_1_html: OSM-kunlaborantoj memoru, por ke neniam aldonu datumojn
|
||||
el iuj ajn fontoj protektataj de kopirajto (ekz. Google Maps aŭ paperaj mapoj)
|
||||
sen klara permeso de posedanto de kopirajtoj.
|
||||
infringement_2_html: Se ve pensas, ke datumoj protektataj per kopirajto estas
|
||||
misaldonitaj al OpenStreetMap-datumbazo aŭ al tiu ĉi retpaĝo, bonvolu legi
|
||||
pri <a href="http://www.osmfoundation.org/wiki/License/Takedown_procedure">proceduro
|
||||
de forigado de datumoj</a> aŭ plenigi la <a href="http://dmca.openstreetmap.org/">enretan
|
||||
formularon</a>.
|
||||
trademarks_title_html: <span id="trademarks"></span>Registritaj markoj
|
||||
trademarks_1_html: OpenStreetMap, la piktogramo de grandiga lenso kaj 'State
|
||||
of the Map' estas registritaj markoj de Fondaĵo OpenStreetMap. Se vi havas
|
||||
iujn demandojn pri uzado de niaj markoj, bonvolu sendi viajn demandojn al
|
||||
la <a href="http://wiki.osmfoundation.org/wiki/Licensing_Working_Group">grupo
|
||||
de laboro pri permesilo</a>.
|
||||
welcome_page:
|
||||
title: Bonvenon!
|
||||
introduction_html: Bonvenon al OpenStreetMap, la libera kaj redaktebla mapo de
|
||||
la mondo. Nun kiam vi registriĝis, vi eblas eki mapigadon. Jen estas mallonga
|
||||
manlibreto kun la plej gravaj aĵoj kiuj vi povas scii.
|
||||
whats_on_the_map:
|
||||
title: Kio estas sur la mapo
|
||||
on_html: OpenStreetMap estas loko por mapigi objektojn, kiuj estas <em>kaj realaj
|
||||
kaj aktualaj</em> - tiu estas milionoj da konstruaĵoj, vojoj kaj aliaj detalaĵoj
|
||||
pri lokoj. Vi povas mapigi ĉiujn elementojn de reala mondo kiuj interesas
|
||||
vin.
|
||||
off_html: Ni <em>ne povas</em> inkludi personajn taksojn, eksajn aŭ malcertajn
|
||||
objektojn, kaj datumoj de kopirajtataj fontoj. Escepte se vi estas permesita,
|
||||
ne kopiu datumoj el aliaj interretaj aŭ paperaj mapoj.
|
||||
basic_terms:
|
||||
title: Fundamentaj terminoj pri mapigado
|
||||
paragraph_1_html: OpenStreetMap havas sian propran ĵargonon. Jen estas kelkaj
|
||||
utilaj vorotoj.
|
||||
editor_html: <strong>Redaktilo</strong> estas programo aŭ retpaĝo, kiun vi povas
|
||||
uzi por modifi mapon.
|
||||
node_html: <strong>Nodo</strong> (ang 'nodo') estas punkto sur la mapo, kiel
|
||||
restoracio aŭ arbo.
|
||||
way_html: <strong>Linio</strong> (ang. 'way') estas linio aŭ areo, kiel vojo,
|
||||
rivereto, lago aŭ konstruaĵo.
|
||||
tag_html: <strong>Etikedo</strong> (ang. 'tag') estas kolekto de datumoj priskribanta
|
||||
nodon aŭ linion, kiel nomo de restoracio aŭ rapidlimo de vojo.
|
||||
rules:
|
||||
title: Reguloj!
|
||||
paragraph_1_html: "OpenStreetMap havas malmultajn formalajn regulojn, tamen
|
||||
ni esperas, ke ĉiuj kunlaboros kaj interparolos en la komunumo. Se vi planas
|
||||
iujn agadojn aliajn ol permanajn redaktojn, bonvolu legi la sekvajn rekomendojn
|
||||
pri <a href='http://wiki.openstreetmap.org/wiki/Import/Guidelines'>enportadoj</a>
|
||||
kaj \n<a href='http://wiki.openstreetmap.org/wiki/Automated_Edits_code_of_conduct'>aŭtomataj
|
||||
redaktoj</a>."
|
||||
questions:
|
||||
title: Iaj demandoj?
|
||||
paragraph_1_html: OpenStreetMap havas kelkajn ejojn por lerni pri la projekto,
|
||||
por demandi pri ion ajn kaj kune diskuti kaj dokumenti pri mapigado. <a href='%{help_url}'>Alklaku
|
||||
por ricevi helpon</a>.
|
||||
start_mapping: Eki mapigadon
|
||||
add_a_note:
|
||||
title: Ĉu mankas al vi tempo por ridaktado? Aldonu rimarkon!
|
||||
paragraph_1_html: Se vi volas nur korekti iun etan kaj vi ne havas tempon por
|
||||
registriĝi kaj lerni redaktadon, vi povas facile aldoni rimarkon.
|
||||
paragraph_2_html: Simple iru al <a href='%{map_url}'>la mapo</a> kaj alklaku
|
||||
la piktogramon <span class='icon note'></span>. Tio aldonos treneblan markon
|
||||
al la mapo. Entajpu vian mesaĝon, konservu ĝin kaj aliaj mapigistoj okupiĝos
|
||||
pri via rimarko.
|
||||
fixthemap:
|
||||
title: Raporti problemon / Korekti mapon
|
||||
how_to_help:
|
||||
title: Kiel helpi
|
||||
join_the_community:
|
||||
title: Aliĝi al la komunumo
|
||||
explanation_html: Se vi rimarkis iun problemon kun niaj map-datumoj, ekzemple
|
||||
strato aŭ adreso mankas, la plej bona rimedo estas aniĝi OpenStreetMap-komunumo
|
||||
kaj redakti kaj ripari datumojn mem.
|
||||
add_a_note:
|
||||
instructions_html: Simple alklaku <a class='icon note'></a> aŭ la saman piktogramon
|
||||
sur la mapo. Tio ĉi aldonos moveblan markon, aldonu vian mesaĝon, konservu
|
||||
ĝin, kaj aliaj mapigistoj okupiĝos pri via rimarko.
|
||||
other_concerns:
|
||||
title: Aliaj aferoj
|
||||
explanation_html: Se vi havas demandojn pri kial niaj datumoj aŭ enhavo estas
|
||||
uzataj, bonvolu ekkoni <a href='/copyright'>paĝon pri kopirajto</a> por pliaj
|
||||
leĝaj informoj, aŭ kontaktu la <a href='http://wiki.osmfoundation.org/wiki/Working_Groups'>OSMF-laborgrupon</a>.
|
||||
help_page:
|
||||
title: Akiri helpon
|
||||
introduction: OpenStreetMap havas kelkajn ejojn por lerni pri la projekto, por
|
||||
demandi pri ion ajn kaj kune diskuti kaj dokumenti pri mapigado.
|
||||
welcome:
|
||||
url: /welcome
|
||||
title: Bonvenon al OSM
|
||||
description: Komencu ekde tiu ĉi manlibreto ampleksanta fundamentojn de OpenStreetMap.
|
||||
beginners_guide:
|
||||
url: http://wiki.openstreetmap.org/wiki/Beginners%27_guide
|
||||
title: Manlibro por komencantoj
|
||||
description: Manlibro por komencantoj kreata de la komunumo (en la Angla).
|
||||
help:
|
||||
url: https://help.openstreetmap.org/
|
||||
title: OpenStreetMap-helppaĝo
|
||||
description: Demandu aŭ serĉu respondojn je retpaĝo de demandoj-kaj-respondoj
|
||||
pri OSM.
|
||||
mailing_lists:
|
||||
title: Dissendolistoj
|
||||
description: Demandu aŭ diskutu pri interesaj temoj en multaj pritemaj aŭ regionaj
|
||||
dissendolistoj.
|
||||
forums:
|
||||
title: Forumoj
|
||||
description: Demandoj kaj diskutoj por tiuj, kiuj preferas kutimaj diskutforumoj.
|
||||
irc:
|
||||
title: IRC
|
||||
description: Interaga babilejo en multaj diversaj lingvoj kaj pri multaj temoj.
|
||||
switch2osm:
|
||||
title: switch2osm
|
||||
description: Helpas firmaojn kaj organizaĵojn ŝanĝi al mapoj kaj aliaj servoj
|
||||
de OpenStreetMap.
|
||||
wiki:
|
||||
url: https://wiki.openstreetmap.org/wiki/Eo:Main_Page
|
||||
title: Vikio OpenStreetMap
|
||||
description: Esploru vikion por akiri detalan dokumentadon de OSM.
|
||||
about_page:
|
||||
next: Sekva
|
||||
copyright_html: <span>©</span>OpenStreetMap<br>kontribuintoj
|
||||
used_by: '%{name} liveras map-datumojn por miloj da retpaĝoj, poŝtelefonaj aplikaĵoj
|
||||
kaj aparatoj'
|
||||
lede_text: OpenStreetMap estas kreata de komunumo de mapigistoj kiuj aldonas kaj
|
||||
prizorgas datumojn pri vojoj, kursoj, kafejoj, stacidomoj kaj pli da aliaj,
|
||||
en la tuta mondo.
|
||||
local_knowledge_title: Loka scio
|
||||
local_knowledge_html: OpenStreetMap emfazas lokan scion. Kontribuantoj uzas aerfotojn,
|
||||
GPS-aparatojn kaj normajn mapojn por verigi ĉu datumoj de OSM estas akurataj
|
||||
kaj ĝisdatigaj.
|
||||
community_driven_title: Kondukata de komunumo
|
||||
community_driven_html: |-
|
||||
La komunumo de OpenStreetMap estas diversa, pasia kaj kreskas tagon post tago. Inter niaj kontribuantoj estas amatoroj de mapoj, istoj de GIS, inĝenieroj prizorgantaj OSM-servilojn, helpistoj kiuj mapigas en terenoj de katastrofoj kaj pli da aliuloj. Por lerni pli pri la komunumo, vidu <a href='%{diary_path}'>ĵurnalojn de uzantoj</a>,
|
||||
<a href='http://blogs.openstreetmap.org/'>komunumajn taglibrojn</a> kaj la retpaĝon de <a href='http://www.osmfoundation.org/'>Fundaĵo OSM</a>.
|
||||
open_data_title: Malfermaj datumoj
|
||||
open_data_html: 'OpenStreetMap estas <i>malfermaj datumoj</i>: vi povas uzi ĝin
|
||||
kiamaniere vi volas sub la kondiĉo de vi atribuos aŭtorecon al OpenStreetMap
|
||||
kaj ĝiaj kontribuintoj. Se vi modifos aŭ uzos niajn datumojn, vi povos distribui
|
||||
la verkon nur sub la sama permesilo. Vidu la <a href=''%{copyright_path}''>paĝon
|
||||
pri kopirajto kaj permesilo</a> por pli da detaloj.'
|
||||
legal_title: Leĝaj demandoj
|
||||
legal_html: Tiu ĉi retpaĝo kaj aliaj servoj estas formale administrata de la <a
|
||||
href='http://osmfoundation.org/'>Fondaĵo OpenStreetMap</a> (OSMF) komisie de
|
||||
la komunumo. Uzado de ĉiuj OSMF-servoj estas regulata per <a href="http://wiki.openstreetmap.org/wiki/Acceptable_Use_Policy">Politiko
|
||||
de uzado</a> kaj nia <a href="http://wiki.osmfoundation.org/wiki/Privacy_Policy">Politiko
|
||||
de privateco</a>. Bonvolu <a href='http://osmfoundation.org/Contact'>kontakti
|
||||
kun OSMF</a>, se vi havas iun demandon pri permesilo, kopirajto aŭ leĝo.
|
||||
partners_title: Kunlaborantoj
|
||||
notifier:
|
||||
diary_comment_notification:
|
||||
subject: '[OpenStreetMap] %{user} komentis vian ĵurnal-afiŝon'
|
||||
hi: Saluton %{to_user},
|
||||
header: '%{from_user} komentis vian afiŝon en OpenStreetMap-ĵurnalo kun la temo
|
||||
%{subject}:'
|
||||
footer: Vi ankaŭ povas legi la komenton ĉe %{readurl} kaj komenti ĝin ĉe %{commenturl}
|
||||
aŭ responde ĉe %{replyurl}
|
||||
message_notification:
|
||||
hi: Saluton %{to_user},
|
||||
header: '%{from_user} sendis al vi mesaĝon tra OpenStreetMap kun la temo %{subject}:'
|
||||
footer_html: Vi ankaŭ povas legi la mesaĝon ĉe %{readurl} kaj respondi ĉe %{replyurl}
|
||||
friend_notification:
|
||||
subject: '[OpenStreetMap] %{user} aldonis vin kiel amikon'
|
||||
had_added_you: '%{user} aldonis vin kiel amikon je OpenStreetMap.'
|
||||
see_their_profile: Vi povas vidi lian profilon ĉe %{userurl}.
|
||||
befriend_them: Vi ankaŭ povas aldoni vin kiel amikon ĉe %{befriendurl}.
|
||||
gpx_notification:
|
||||
greeting: Saluton,
|
||||
your_gpx_file: Ŝajnas, ke via GPX-dosiero
|
||||
with_description: kun la priskribo
|
||||
and_the_tags: 'kaj kun la sekvaj etikedoj:'
|
||||
and_no_tags: kaj kun neniu etikedo.
|
||||
failure:
|
||||
subject: '[OpenStreetMap] Eraro dum enportado de GPX-dosiero'
|
||||
failed_to_import: 'ne estas enportita sukcese. Eraro:'
|
||||
more_info_1: Pli da informoj pri malsukceso de enportado de GPX-dosieroj kaj
|
||||
kiel eviti
|
||||
more_info_2: 'ilin vi povas trovi je:'
|
||||
success:
|
||||
subject: '[OpenStreetMap] GPX-dosiero enportita sukcese'
|
||||
loaded_successfully: estas sukcese ŝargita kun %{trace_points} el %{possible_points}
|
||||
punktoj.
|
||||
signup_confirm:
|
||||
subject: '[OpenStreetMap] Bonvenon al OpenStreetMap'
|
||||
greeting: Saluton!
|
||||
created: Iu (espereble vi) ĵus kreis konton je %{site_url}.
|
||||
confirm: Unue devas konfirmi, ke tiu ĉi peto devenas de vi, do bonvolu alklaki
|
||||
la ligilon sube por konfirmi vian konton.
|
||||
welcome: Post konfirmo de konto, ni liveros al vi pliajn informojn kiel komenci.
|
||||
email_confirm:
|
||||
subject: '[OpenStreetMap] Konfirmi vian retpoŝtadreson'
|
||||
subject: '[OpenStreetMap] Konfirmado de retpoŝtadreso'
|
||||
email_confirm_plain:
|
||||
greeting: Saluton,
|
||||
hopefully_you: Iu (espereble vi) volas ŝanĝi vian retpoŝtadreson je %{server_url}
|
||||
al %{new_address}.
|
||||
click_the_link: Se tiu estas vi, bonvolu alklaku la ligilon sube por konfirmi
|
||||
ŝanĝon de adreso.
|
||||
email_confirm_html:
|
||||
greeting: Saluton,
|
||||
hopefully_you: Iu (espereble vi) volas ŝanĝi vian retpoŝtadreson je %{server_url}
|
||||
al %{new_address}.
|
||||
click_the_link: Se tiu estas vi, bonvolu alklaku la ligilon sube por konfirmi
|
||||
ŝanĝon de adreso.
|
||||
lost_password:
|
||||
subject: '[OpenStreetMap] Peto pri restarigo de pasvorto'
|
||||
lost_password_plain:
|
||||
greeting: Saluton,
|
||||
hopefully_you: Iu (espereble vi) volas restarigi la pasvorton por konto je openstreetmap.org
|
||||
por tiu ĉi retpoŝtadreso.
|
||||
click_the_link: Se tiu estas vi, bonvolu alklaki la ligilon sube por restarigi
|
||||
la pasvorton.
|
||||
lost_password_html:
|
||||
greeting: Saluton,
|
||||
hopefully_you: Iu (espereble vi) volas restarigi la pasvorton por konto je openstreetmap.org
|
||||
por tiu ĉi retpoŝtadreso.
|
||||
click_the_link: Se tiu estas vi, bonvolu alklaki la ligilon sube por restarigi
|
||||
la pasvorton.
|
||||
note_comment_notification:
|
||||
anonymous: Anonimulo
|
||||
greeting: Saluton,
|
||||
commented:
|
||||
subject_own: '[OpenStreetMap] %{commenter} komentis vian rimarkon'
|
||||
subject_other: '[OpenStreetMap] %{commenter} komentis rimarkon pri kiu vi
|
||||
interesiĝas'
|
||||
your_note: '%{commenter} komentis vian rimarkon sur mapo ĉe %{place}.'
|
||||
commented_note: '%{commenter} komentis rimarkon sur mapo pri kiu vi interesiĝas.
|
||||
La rimarko troviĝas ĉe %{place}.'
|
||||
closed:
|
||||
subject_own: '[OpenStreetMap] %{commenter} solvis vian rimarkon'
|
||||
subject_other: '[OpenStreetMap] %{commenter} solvis rimarkon pri kiu vi interesiĝas'
|
||||
your_note: '%{commenter} solvis vian rimarkon sur mapo ĉe %{place}.'
|
||||
commented_note: '%{commenter} solvis rimarkon sur mapo pri kiu vi interesiĝas.
|
||||
La rimarko troviĝis ĉe %{place}.'
|
||||
reopened:
|
||||
subject_own: '[OpenStreetMap] %{commenter} remalfermis vian rimarkon'
|
||||
subject_other: '[OpenStreetMap] %{commenter} remalfermis rimarkon pri kiu
|
||||
vi interesiĝis'
|
||||
your_note: '%{commenter} remalfermis vian rimarkon sur mapo ĉe %{place}.'
|
||||
commented_note: '%{commenter} remalfermis rimarkon sur mapo pri kiu vi interesiĝis.
|
||||
La rimarko troviĝis ĉe %{place}.'
|
||||
details: Pli da detaloj pri la rimarko, vi povas trovi je %{url}.
|
||||
changeset_comment_notification:
|
||||
greeting: Saluton,
|
||||
commented:
|
||||
subject_own: '[OpenStreetMap] %{commenter} komentis vian ŝanĝaron'
|
||||
subject_other: '[OpenStreetMap] %{commenter} komentis ŝanĝaron pri kiu vi
|
||||
interesiĝas'
|
||||
your_changeset: '%{commenter} komentis vian ŝanĝaron kreitan je %{time}'
|
||||
commented_changeset: '%{commenter} komentis ŝanĝaron observatan de vi, kreitan
|
||||
de %{changeset_author} je %{time}'
|
||||
partial_changeset_with_comment: kun komento '%{changeset_comment}'
|
||||
partial_changeset_without_comment: sen komento
|
||||
details: Pli da detaloj pri la ŝanĝaro povas esti trovita ĉe %{url}.
|
||||
message:
|
||||
inbox:
|
||||
title: Alvenkesto
|
||||
my_inbox: Mia leterkesto
|
||||
outbox: elirkesto
|
||||
messages: Vi havas %{new_messages} kaj %{old_messages}
|
||||
new_messages:
|
||||
one: '%{count} novan mesaĝon'
|
||||
other: '%{count} novajn mesaĝojn'
|
||||
old_messages:
|
||||
one: '%{count} malnovan mesaĝon'
|
||||
other: '%{count} malnovajn mesaĝojn'
|
||||
from: De
|
||||
subject: Temo
|
||||
date: Dato
|
||||
no_messages_yet: Vi ankoraŭ ne havas iun mesaĝon. Eble kontaktu kun iu el %{people_mapping_nearby_link}?
|
||||
people_mapping_nearby: proksimaj mapigistoj
|
||||
message_summary:
|
||||
unread_button: Marki kiel nelegitan
|
||||
read_button: Marki kiel legitan
|
||||
|
@ -1053,53 +1346,112 @@ eo:
|
|||
new:
|
||||
title: Sendi mesaĝon
|
||||
send_message_to: Sendi novan mesaĝon al %{name}
|
||||
subject: Temo
|
||||
body: Enhavo
|
||||
send_button: Sendi
|
||||
back_to_inbox: Reen al mesaĝejo
|
||||
back_to_inbox: Reen al alvenkesto
|
||||
message_sent: Mesaĝo sendita
|
||||
limit_exceeded: Vi antaŭnelonge sendis multajn mesaĝojn. Bonvolu atendi iom
|
||||
da tempo antaŭ vi sendos pliajn.
|
||||
no_such_message:
|
||||
title: Neekzistanta mesaĝo
|
||||
heading: Tiu ĉi mesaĝo ne ekzistas
|
||||
body: Bedaŭrinde ne ekzistas mesaĝo kun tiu ĉi identigilo.
|
||||
outbox:
|
||||
title: Elirkesto
|
||||
my_inbox: Mia %{inbox_link}
|
||||
inbox: Alvenkesto
|
||||
inbox: alvenkesto
|
||||
outbox: elirkesto
|
||||
messages:
|
||||
one: Vi havas %{count} senditan mesaĝon
|
||||
other: Vi havas %{count} senditajn mesaĝojn
|
||||
to: Al
|
||||
subject: Temo
|
||||
date: Dato
|
||||
no_sent_messages: Vi ankoraŭ ne sendis iun mesaĝon. Eble kontaktu kun iu el
|
||||
%{people_mapping_nearby_link}?
|
||||
people_mapping_nearby: proksimaj mapigistoj
|
||||
reply:
|
||||
wrong_user: Vi estas ensalutita kiel '%{user}', sed la mesaĝo, kiun vi volas
|
||||
respondi, ne estas sendita al tiu uzanto. Bonvolu ensaluti kiel propra uzanto
|
||||
por respondi ĝin.
|
||||
read:
|
||||
title: Legi mesaĝon
|
||||
from: De
|
||||
subject: Temo
|
||||
date: Dato
|
||||
reply_button: Respondi
|
||||
unread_button: Marki kiel nelegita
|
||||
unread_button: Marki kiel nelegitan
|
||||
back: Reen
|
||||
to: Al
|
||||
wrong_user: Vi estas ensalutita kiel '%{user}', sed la mesaĝo, kiun vi volas
|
||||
legi estas sendita al tiu uzanto. Bonvolu ensaluti kiel propra uzanto por
|
||||
legi ĝin.
|
||||
sent_message_summary:
|
||||
delete_button: Forigi
|
||||
mark:
|
||||
as_read: Mesaĝo markita kiel legita
|
||||
as_unread: Mesaĝo markita kiel nelegita
|
||||
as_read: Mesaĝo markita kiel legitan
|
||||
as_unread: Mesaĝo markita kiel nelegitan
|
||||
delete:
|
||||
deleted: Mesaĝo forigita
|
||||
site:
|
||||
index:
|
||||
js_1: Vi aŭ uzas foliumilon, kiu ne subtenas Ĝavoskripton, aŭ vi havas ĝin malaktivan.
|
||||
js_2: OpensStreetMap uzas Ĝavoskripton por montri ŝoveblan mapon.
|
||||
permalink: Konstanta ligilo
|
||||
shortlink: Mallonga ligilo
|
||||
createnote: Aldoni rimarkon
|
||||
license:
|
||||
copyright: Kopirajto de OpenStreetMap kaj kontribuintoj, sub malferma permesilo
|
||||
remote_failed: Redaktado malsukcesis - certigu ĉu JOSM aŭ Merkaartor estas startigita
|
||||
kaj ĉu defora aliro estas aktiva
|
||||
edit:
|
||||
not_public: Vi ne agordis por viaj redaktoj estu publikaj.
|
||||
not_public_description: Vi ne povas plu redakti la mapon. Vi povas agordi ilin
|
||||
kiel publikan ĉe via %{user_page}.
|
||||
user_page_link: uzantpaĝo
|
||||
anon_edits_link_text: Tie ĉi vi sciigis kiel.
|
||||
flash_player_required: Por uzi Potlatch, la OpenStreetMap-redaktilo, vi bezonas
|
||||
la kromprogramon Flash. Vi povas <a href="http://www.adobe.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash">elŝuti
|
||||
Flash Player el Adobe.com retpaĝo</a>. <a href="http://wiki.openstreetmap.org/wiki/Editing">Kelkaj
|
||||
aliaj redaktiloj</a> estas disponeblaj por redakti OpenStreetMap.
|
||||
potlatch_unsaved_changes: Vi havas nekonservitajn ŝanĝojn. (Por konservi ŝanĝojn
|
||||
en Potlatch, malelektu nune elektitan linion aŭ punkton se vi redaktas en
|
||||
'rekta reĝimo', aŭ alklaku butonon 'konservi', se ĝi videblas.)
|
||||
potlatch2_not_configured: Potlatch 2 ne estas agordita - vidu http://wiki.openstreetmap.org/wiki/The_Rails_Port#Potlatch_2
|
||||
por pli da informoj
|
||||
potlatch2_unsaved_changes: Vi havas nekonservitajn ŝanĝojn. (Por konservi ilin
|
||||
en Potlatch 2, alklaku 'konservi'.)
|
||||
id_not_configured: iD ne estas agordita
|
||||
no_iframe_support: Via foliumilo ne subtenas 'HTML iframes', ili estas bezonataj
|
||||
por tiu ĉi eblo.
|
||||
sidebar:
|
||||
search_results: Serĉrezultoj
|
||||
close: Fermi
|
||||
search:
|
||||
search: Serĉi
|
||||
get_directions: Difini la kurson
|
||||
get_directions_title: Difinas la kurson inter du punktoj
|
||||
from: El
|
||||
to: Al
|
||||
where_am_i: Kie mi estas?
|
||||
where_am_i_title: Trovas la nunan pozicion per la foliumilo
|
||||
submit_text: Ek
|
||||
key:
|
||||
table:
|
||||
entry:
|
||||
motorway: Aŭtovojo
|
||||
main_road: Ĉefa vojo
|
||||
primary: Strato de unua ordo
|
||||
secondary: Strato de dua ordo
|
||||
trunk: Vojo ekspresa
|
||||
primary: Vojo unua-ranga
|
||||
secondary: Vojo dua-ranga
|
||||
unclassified: Vojo kvara-ranga
|
||||
track: Vojo kampa
|
||||
bridleway: Ĉevalvojo
|
||||
cycleway: Bicikla vojo
|
||||
cycleway_national: Bicikla vojo nacia
|
||||
cycleway_regional: Bicikla vojo regiona
|
||||
cycleway_local: Bicikla vojo loka
|
||||
footway: Trotuaro
|
||||
rail: Fervojo
|
||||
subway: Metroo
|
||||
|
@ -1107,7 +1459,14 @@ eo:
|
|||
- Fervojo malpeza
|
||||
- tramo
|
||||
cable:
|
||||
1: seĝtelfero
|
||||
- Kablovojo
|
||||
- seĝtelfero
|
||||
runway:
|
||||
- Avia dromo
|
||||
- aŭtokur-strato
|
||||
apron:
|
||||
- Aviadil-parkumejo
|
||||
- flugstacio
|
||||
admin: Administra limo
|
||||
forest: Kultiv-arbaro
|
||||
wood: Arbaro
|
||||
|
@ -1117,7 +1476,7 @@ eo:
|
|||
common:
|
||||
- Publika ripoza tereno
|
||||
- herbejo
|
||||
retail: Butikcentro
|
||||
retail: Komercejo
|
||||
industrial: Industria areo
|
||||
commercial: Oficeja tereno
|
||||
heathland: Erikejo
|
||||
|
@ -1125,6 +1484,7 @@ eo:
|
|||
- Lago
|
||||
- akvorezervujo
|
||||
farm: Farmobieno
|
||||
brownfield: Antaŭ-konstruejo (post-malkonstruado)
|
||||
cemetery: Tombejo
|
||||
allotments: Familiaj ĝardenoj
|
||||
pitch: Ludkampo
|
||||
|
@ -1139,8 +1499,13 @@ eo:
|
|||
summit:
|
||||
- Montosupro
|
||||
- montopinto
|
||||
destination: Nur por lokaj loĝantoj
|
||||
tunnel: Strekumita konturo - tunelo
|
||||
bridge: Nigra konturo - ponto
|
||||
private: Privata aliro
|
||||
destination: Aliro nur al celo
|
||||
construction: Vojoj dum konstruado
|
||||
bicycle_shop: Bicikl-vendejo
|
||||
bicycle_parking: Parkumejo bicikla
|
||||
toilets: Necesejo
|
||||
richtext_area:
|
||||
edit: Redakti
|
||||
|
@ -1303,17 +1668,18 @@ eo:
|
|||
my diary: Mia ĵurnalo
|
||||
new diary entry: nova ĵurnalrikordo
|
||||
my edits: Miaj redaktoj
|
||||
my traces: Miaj spuroj
|
||||
my traces: Spuroj
|
||||
my notes: Miaj rimarkoj
|
||||
my messages: Mesaĝoj
|
||||
my profile: Profilo
|
||||
my settings: Miaj agordoj
|
||||
my settings: Agordoj
|
||||
my comments: Miaj komentoj
|
||||
blocks on me: Blokas min
|
||||
send message: Sendi mesaĝon
|
||||
diary: Ĵurnalo
|
||||
edits: Redaktoj
|
||||
traces: Spuroj
|
||||
notes: Map-rimarkoj
|
||||
remove as friend: Eksamikigi
|
||||
add as friend: Aldoni kiel amikon
|
||||
mapper since: 'Mapigisto ekde:'
|
||||
|
@ -1331,6 +1697,7 @@ eo:
|
|||
role:
|
||||
administrator: Ĉi tiu uzanto estas administranto
|
||||
moderator: Ĉi tiu uzanto estas kontrolanto
|
||||
comments: Komentoj
|
||||
create_block: Bloki ĉi tiun uzanton
|
||||
activate_user: Aktivigi tiun ĉi uzanton
|
||||
deactivate_user: Malaktivigi tiun ĉi uzanton
|
||||
|
@ -1357,7 +1724,7 @@ eo:
|
|||
heading: Publika redaktado
|
||||
profile description: 'Priskribo de profilo:'
|
||||
preferred languages: 'Preferataj Lingvoj:'
|
||||
home location: 'Hejma Loko:'
|
||||
home location: 'Hejma pozicio:'
|
||||
no home location: Vi ne enigis vian hejmlokon.
|
||||
latitude: 'Latitudo:'
|
||||
longitude: 'Longitudo:'
|
||||
|
@ -1381,7 +1748,7 @@ eo:
|
|||
success: Ŝanĝo de via retpoŝta adreso konfirmita!
|
||||
failure: Retadreso jam estis konfirmita per tiu ĵetono.
|
||||
set_home:
|
||||
flash success: Hejma loko sukcese konservita
|
||||
flash success: Pozicio de hejmo sukcese konservita
|
||||
go_public:
|
||||
flash success: Ĉiuj viaj redaktoj naŭ estas publikaj, kaj vi naŭ rajtas redakti.
|
||||
make_friend:
|
||||
|
@ -1436,6 +1803,7 @@ eo:
|
|||
cancel: Nuligi
|
||||
key:
|
||||
title: Mapklarigo
|
||||
tooltip: Mapklarigo
|
||||
tooltip_disabled: Mapklarigo estas nur disponebla ĉe la norma tavolo
|
||||
map:
|
||||
zoom:
|
||||
|
|
|
@ -1230,7 +1230,10 @@ he:
|
|||
לפי התנאים של אותו הרישיון. ר' את <a href='%{copyright_path}'>דף הרישיון וזכויות היוצרים</a> לפרטים נוספים.
|
||||
legal_title: משפטי
|
||||
legal_html: |-
|
||||
האתר הזה ושירותים רבים אחרים מופעלים על־ידי <a href='http://osmfoundation.org/'>קרן OpenStreetMap</a>‏ (OSMF) בשם הקהילה.
|
||||
האתר הזה ושירותים רבים אחרים מופעלים על־ידי <a href='http://osmfoundation.org/'>קרן OpenStreetMap</a>‏ (OSMF) בשם הקהילה. השימוש בכל השירותים במפעילה OSMF כפוף
|
||||
ל־<a href="http://wiki.openstreetmap.org/wiki/Acceptable_Use_Policy">
|
||||
מדיניות שימוש קביל</a> שלנו
|
||||
ול־<a href="http://wiki.osmfoundation.org/wiki/Privacy_Policy">Privacy Policy</a>מדיניות הפרטיות</a> שלנו
|
||||
<br>
|
||||
נא <a href='http://osmfoundation.org/Contact'>ליצור קשר עם OSMF</a> אם יש לך שאלות על רישוי, זכויות יוצרים או שאלות ובעיות משפטיות אחרות.
|
||||
partners_title: שותפים
|
||||
|
@ -1824,9 +1827,9 @@ he:
|
|||
התרומה</a>.
|
||||
email address: 'כתובת דוא״ל:'
|
||||
confirm email address: 'אימות כתובת דוא״ל:'
|
||||
not displayed publicly: לא מוצג בפומבי (ר׳ <a href="http://wiki.openstreetmap.org/wiki/Privacy_Policy"
|
||||
title="wiki privacy policy including section on email addresses">מידיניות
|
||||
פרטיות</a>)
|
||||
not displayed publicly: הכתובת שלף לא מוצגת בפומבי, ר׳ את <a href="http://wiki.openstreetmap.org/wiki/Privacy_Policy"
|
||||
title="OSMF privacy policy including section on email addresses">מידיניות
|
||||
פרטיות</a> למידע נוסף
|
||||
display name: 'שם התצוגה:'
|
||||
display name description: שם המשתמש שלך, שמוצג בפומבי. אפשר לשנות את זה בהעפות
|
||||
שלך.
|
||||
|
|
|
@ -1245,7 +1245,8 @@ id:
|
|||
Hak Cipta dan Lisensi</a> untuk perinciannya.'
|
||||
legal_title: Legal
|
||||
legal_html: |-
|
||||
Situs ini dan layanan terkait lainnya dioperasikan secara resmi oleh <a href='http://osmfoundation.org/'>OpenStreetMap Foundation</a> (OSMF) atas nama komunitas.
|
||||
Situs ini dan layanan terkait lainnya dioperasikan secara resmi oleh <a href='http://osmfoundation.org/'>OpenStreetMap Foundation</a> (OSMF) atas nama komunitas. Menggunakan semua layanan yang dioperasikan oleh OSMF tunduk kepada <a href="http://wiki.openstreetmap.org/wiki/Acceptable_Use_Policy">
|
||||
Kebijakan Penggunaan Diterima</a> dan <a href="http://wiki.osmfoundation.org/wiki/Privacy_Policy">Kebijakan Privasi</a> kami
|
||||
<br>
|
||||
Silakan <a href='http://osmfoundation.org/Contact'>menghubungi OSMF</a> jika Anda punya pertanyaan seputar lisensi, hak cipta, atau isu dan pertanyaan hukum lainnya.
|
||||
partners_title: Rekan
|
||||
|
@ -1875,9 +1876,10 @@ id:
|
|||
kontributor</a>.
|
||||
email address: 'Alamat Email:'
|
||||
confirm email address: 'Konfirmasi Alamat Email:'
|
||||
not displayed publicly: Tidak dipajangkan secara umum (Lihat <a href="http://wiki.openstreetmap.org/wiki/Privacy_Policy"
|
||||
title="wiki privacy policy including section on email addresses">kebijakan
|
||||
privasi</a>)
|
||||
not displayed publicly: Alamat Anda tidak dipajangkan secara umum, lihat <a
|
||||
href="http://wiki.osmfoundation.org/wiki/Privacy_Policy" title="OSMF privacy
|
||||
policy including section on email addresses">kebijakan privasi</a> kami untuk
|
||||
informasi lebih lanjut
|
||||
display name: 'Tampilan Nama:'
|
||||
display name description: Username Anda yang ditampilkan pada publik. Anda dapat
|
||||
mengubahnya dalam pengaturan.
|
||||
|
|
|
@ -33,6 +33,7 @@
|
|||
# Author: Ricordisamoa
|
||||
# Author: Rippitippi
|
||||
# Author: Ruila
|
||||
# Author: Selven
|
||||
# Author: Shirayuki
|
||||
# Author: Simone
|
||||
# Author: SimoneSVC
|
||||
|
@ -2050,6 +2051,8 @@ it:
|
|||
gravatar:
|
||||
gravatar: Usa Gravatar
|
||||
link text: che cos'è questo?
|
||||
disabled: Gravatar è stato disattivato.
|
||||
enabled: La visualizzazione del vostro Gravatar è stata attivata.
|
||||
new image: Aggiungi un'immagine
|
||||
keep image: Mantieni l'immagine attuale
|
||||
delete image: Rimuovi l'immagine attuale
|
||||
|
|
|
@ -22,6 +22,7 @@
|
|||
# Author: Luk3
|
||||
# Author: Macofe
|
||||
# Author: Matheus Sousa L.T
|
||||
# Author: NMaia
|
||||
# Author: Nemo bis
|
||||
# Author: Nighto
|
||||
# Author: Rodrigo Avila
|
||||
|
@ -1253,11 +1254,14 @@ pt-BR:
|
|||
Se você alterar os dados ou criar algo com os dados, pode distribuir
|
||||
o produto resultante apenas sob a mesma licença. Consulte <a href='%{copyright_path}'>a página sobre direitos de autor e licenciamento</a> para mais informações.
|
||||
legal_title: Jurídico
|
||||
legal_html: Esta página e vários outros serviços relacionados são formalmente
|
||||
legal_html: "Esta página e vários outros serviços relacionados são formalmente
|
||||
operados pela <a href='http://osmfoundation.org/'>OpenStreetMap Foundation</a>
|
||||
(OSMF) em nome da comunidade. <br> Por favor <a href='http://osmfoundation.org/Contact'>contate
|
||||
(OSMF) em nome da comunidade. O uso de todos os serviços operados pela OSMF
|
||||
está sujeito às nossas <a href=\"http://wiki.openstreetmap.org/wiki/Acceptable_Use_Policy\">\nPolíticas
|
||||
de Uso Aceitável</a> e à nossa <a href=\"http://wiki.osmfoundation.org/wiki/Privacy_Policy\">Política
|
||||
de Privacidade</a>\n<br> \nPor favor <a href='http://osmfoundation.org/Contact'>contate
|
||||
a OSMF</a> se tiver perguntas sobre licenciamento, direitos autorais ou outras
|
||||
questões e problemas legais.
|
||||
questões e problemas legais."
|
||||
partners_title: Parceiros
|
||||
notifier:
|
||||
diary_comment_notification:
|
||||
|
@ -1884,9 +1888,9 @@ pt-BR:
|
|||
do Contribuidor</a>.
|
||||
email address: 'Endereço de E-mail:'
|
||||
confirm email address: 'Confirme o Endereço de E-mail:'
|
||||
not displayed publicly: Não será exibido publicamente (veja a <a href="http://wiki.openstreetmap.org/wiki/Privacy_Policy"
|
||||
not displayed publicly: Seu endereço não é exibido publicamente, veja a <a href="http://wiki.openstreetmap.org/wiki/Privacy_Policy"
|
||||
title="política de privacidade no wiki incluindo a seção sobre endereços de
|
||||
e-mail">política de privacidade</a>)
|
||||
e-mail">política de privacidade</a> para mais informações
|
||||
display name: 'Nome de Exibição:'
|
||||
display name description: Seu nome de usuário disponível publicamente. Você
|
||||
pode mudá-lo depois nas preferências.
|
||||
|
|
|
@ -1863,9 +1863,10 @@ pt-PT:
|
|||
de Colaboração</a>.
|
||||
email address: 'E-mail:'
|
||||
confirm email address: 'Confirmar E-mail:'
|
||||
not displayed publicly: Não será visível publicamente (ver <a href="http://wiki.openstreetmap.org/wiki/Privacy_Policy"
|
||||
title="política de privacidade incluindo secção sobre endereços de e-mail">política
|
||||
de privacidade</a>)
|
||||
not displayed publicly: O seu endereço de IP não será visível publicamente.
|
||||
Consulte a <a href="http://wiki.osmfoundation.org/wiki/Privacy_Policy" title="política
|
||||
de privacidade OSMF, incluindo secção sobre endereços de correio eletrónico">política
|
||||
de privacidade</a> para mais informação.
|
||||
display name: 'Nome de utilizador:'
|
||||
display name description: O nome de utilizador será visível publicamente. Poderá
|
||||
alterar o nome posteriormente nas preferências.
|
||||
|
|
|
@ -16,6 +16,7 @@
|
|||
# Author: DCamer
|
||||
# Author: Dmitry-s93
|
||||
# Author: Dr&mx
|
||||
# Author: Eduard Popov
|
||||
# Author: Edward17
|
||||
# Author: Eleferen
|
||||
# Author: Ergo
|
||||
|
@ -1569,6 +1570,8 @@ ru:
|
|||
private: Частный доступ
|
||||
destination: Целевой доступ
|
||||
construction: Строительство дороги
|
||||
bicycle_shop: Магазин велосипедов
|
||||
bicycle_parking: Парковка для велосипедов
|
||||
richtext_area:
|
||||
edit: Изменить
|
||||
preview: Предпросмотр
|
||||
|
@ -2055,6 +2058,8 @@ ru:
|
|||
gravatar:
|
||||
gravatar: Использовать Gravatar
|
||||
link text: что это?
|
||||
disabled: Gravatar отключён.
|
||||
enabled: Отображение вашего Gravatar включено.
|
||||
new image: Добавить изображение
|
||||
keep image: Оставить текущее изображение
|
||||
delete image: Удалить текущее изображение
|
||||
|
@ -2420,11 +2425,17 @@ ru:
|
|||
instructions:
|
||||
continue_without_exit: Продолжите по %{name}
|
||||
slight_right_without_exit: Слегка направо на %{name}
|
||||
endofroad_right_without_exit: В конце дороги поверните направо на %{name}
|
||||
merge_right_without_exit: Перестройтесь направо на %{name}
|
||||
fork_right_without_exit: На развилке поверните направо на %{name}
|
||||
turn_right_without_exit: Поверните направо на %{name}
|
||||
sharp_right_without_exit: Резко направо на %{name}
|
||||
uturn_without_exit: Разворот по %{name}
|
||||
sharp_left_without_exit: Резко налево на %{name}
|
||||
turn_left_without_exit: Поверните налево на %{name}
|
||||
endofroad_left_without_exit: В конце дороги поверните налево на %{name}
|
||||
merge_left_without_exit: Перестройтесь налево на %{name}
|
||||
fork_left_without_exit: На развилке поверните налево на %{name}
|
||||
slight_left_without_exit: Слегка влево на %{name}
|
||||
via_point_without_exit: (через точку)
|
||||
follow_without_exit: Следуйте %{name}
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
# Author: Macofe
|
||||
# Author: Mateju
|
||||
# Author: Peter Klofutar
|
||||
# Author: Pickle12
|
||||
# Author: Ruila
|
||||
# Author: Skalcaa
|
||||
# Author: Stefanb
|
||||
|
@ -1647,9 +1648,9 @@ sl:
|
|||
sodelovanja</a>.
|
||||
email address: 'E-poštni naslov:'
|
||||
confirm email address: 'Potrdite naslov e-pošte:'
|
||||
not displayed publicly: Ne bo javno objavljeno (glej <a href="http://wiki.openstreetmap.org/wiki/Privacy_Policy"
|
||||
title="politika zasebnosti z razdelkom o naslovu elektronske pošte v wiki-ju">politiko
|
||||
zasebnosti</a>)
|
||||
not displayed publicly: Vaš naslov ne bo javno objavljen (za več informacij
|
||||
glej <a href="http://wiki.openstreetmap.org/wiki/Privacy_Policy" title="politika
|
||||
zasebnosti z razdelkom o naslovu elektronske pošte v wiki-ju">politiko zasebnosti</a>)
|
||||
display name: 'Prikazno ime:'
|
||||
display name description: Javno prikazano uporabniško ime. To lahko spremenite
|
||||
kasneje v nastavitvah.
|
||||
|
|
|
@ -1019,12 +1019,12 @@ zh-CN:
|
|||
href="http://osmfoundation.org/Licence">OSMF许可协议页面</a>和<a
|
||||
href="http://wiki.openstreetmap.org/wiki/Legal_FAQ">法律常见问题</a>阅读更多关于使用我们的数据,以及如何表明我们是作者的信息。
|
||||
more_2_html: 尽管 OpenStreetMap 开放数据,但是我们无法为第三方开发人员提供免费的地图 API。详见我们的 <a href="http://wiki.openstreetmap.org/wiki/API_usage_policy">API使用政策</a>、<a
|
||||
href="http://wiki.openstreetmap.org/wiki/Tile_usage_policy">图块使用政策</a>及<a
|
||||
href="http://wiki.openstreetmap.org/wiki/Nominatim#Usage_Policy">名称服务使用政策</a>。
|
||||
href="http://wiki.openstreetmap.org/wiki/Zh-hans:Tile_usage_policy">地图图块使用政策</a>及<a
|
||||
href="http://wiki.openstreetmap.org/wiki/Zh-hans:Nominatim#使用政策">名称服务使用政策</a>。
|
||||
contributors_title_html: 我们的贡献者
|
||||
contributors_intro_html: 我们的数据来源于成千上万人的贡献。但我们也从国家测绘机构等处获取公共版权的数据,其中包括:
|
||||
contributors_at_html: <strong>奥地利</strong>:包含来自 <a href="http://data.wien.gv.at/">Stadt
|
||||
Wien</a>(<a href="http://creativecommons.org/licenses/by/3.0/at/deed.de">CC
|
||||
Wien</a>(<a href="http://creativecommons.org/licenses/by/3.0/at/deed.zh">CC
|
||||
BY</a>协议)、<a href="http://www.vorarlberg.at/vorarlberg/bauen_wohnen/bauen/vermessung_geoinformation/weitereinformationen/services/wmsdienste.htm">Land
|
||||
Vorarlberg</a>及 Land Tirol (修订的 <a href="http://www.tirol.gv.at/applikationen/e-government/data/nutzungsbedingungen/">CC-BY
|
||||
AT</a>协议)的数据。
|
||||
|
@ -1044,7 +1044,7 @@ zh-CN:
|
|||
contributors_gb_html: <strong>英国</strong>:包含来自 Ordnance 的调查数据,© Crown 版权所有及数据库权利,2010-12。
|
||||
contributors_footer_1_html: |-
|
||||
关于其进一步的细节,及其他被用来帮助提升 OpenStreetMap 的来源,详见 OpenStreetMap Wiki 的<a
|
||||
href="http://wiki.openstreetmap.org/wiki/Contributors">贡献者页面</a>。
|
||||
href="http://wiki.openstreetmap.org/wiki/Zh-hans:Contributors">贡献者页面</a>。
|
||||
contributors_footer_2_html: OpenStreetMap 纳入数据并不意味着原始数据提供者认可 OpenStreetMap、提供任何担保或担负任何法律责任。
|
||||
infringement_title_html: 著作权侵犯
|
||||
infringement_1_html: OSM 的贡献者会被提醒,绝不要在没有著作权人的明确许可时添加来自任何有著作权的来源的数据(如谷歌地图或印刷地图)。
|
||||
|
@ -1069,7 +1069,7 @@ zh-CN:
|
|||
tag_html: <strong>标签</strong>是关于节点或路径的简短数据,例如餐馆的名字或者道路的速度限制。
|
||||
rules:
|
||||
title: 规则!
|
||||
paragraph_1_html: OpenStreetMap很少有正式规则,但我们期待所有参与者能合作,并与社区沟通。如果你在考虑任何除手工编辑的活动,请阅读并遵守<a
|
||||
paragraph_1_html: OpenStreetMap很少有正式规则,但我们期待所有参与者能合作,并与社区沟通。如果您在考虑任何除手工编辑的活动,请阅读并遵守<a
|
||||
href='http://wiki.openstreetmap.org/wiki/Import/Guidelines'>导入</a>和<a href='http://wiki.openstreetmap.org/wiki/Automated_Edits_code_of_conduct'>自动编辑</a>的指导。
|
||||
questions:
|
||||
title: 还有疑问吗?
|
||||
|
@ -1143,7 +1143,8 @@ zh-CN:
|
|||
OpenStreetMap。如果您改变或者使用这些数据,您必须按照相同的版权协议发布结果。详情请参见<a href='%{copyright_path}'>版权协议</a>。
|
||||
legal_title: 法律
|
||||
legal_html: |-
|
||||
此网站和很多其他相关服务已由<a href='http://osmfoundation.org/'>OpenStreetMap基金会</a>(OSMF)正式代表社群运营。
|
||||
此网站和很多其他相关服务已由<a href='http://osmfoundation.org/'>OpenStreetMap基金会</a>(OSMF)正式代表社群运营。使用所有由OSMF运营的服务均需符合我们的<a href="http://wiki.openstreetmap.org/wiki/Acceptable_Use_Policy">
|
||||
可接受使用方针</a>和我们的<a href="http://wiki.osmfoundation.org/wiki/Privacy_Policy">隐私政策</a>
|
||||
<br>
|
||||
如果您有许可协议、版权或其他法律问题,请<a href='http://osmfoundation.org/Contact'>联络OSMF</a>。
|
||||
partners_title: 合作伙伴
|
||||
|
@ -1512,7 +1513,7 @@ zh-CN:
|
|||
public_traces_from: 来自 %{user} 的公开 GPS 轨迹
|
||||
description: 浏览最近上传的 GPS 轨迹
|
||||
tagged_with: 以 %{tags} 标记
|
||||
empty_html: 尚无轨迹。<a href='%{upload_link}'>上传新轨迹</a>或在<a href='http://wiki.openstreetmap.org/wiki/Beginners_Guide_1.2'>wiki页面</a>上了解
|
||||
empty_html: 尚无轨迹。<a href='%{upload_link}'>上传新轨迹</a>或在<a href='http://wiki.openstreetmap.org/wiki/Zh-hans:Beginners_Guide_1.2'>wiki页面</a>上了解
|
||||
GPS 轨迹。
|
||||
delete:
|
||||
scheduled_for_deletion: 计划删除的轨迹
|
||||
|
@ -1698,8 +1699,8 @@ zh-CN:
|
|||
license_agreement: 当您确认您的帐户时,您需要同意<a href="http://www.osmfoundation.org/wiki/License/Contributor_Terms">贡献者条款</a>。
|
||||
email address: 电子邮件地址:
|
||||
confirm email address: 确认电子邮件地址:
|
||||
not displayed publicly: 不公开显示(参阅<a href="http://wiki.openstreetmap.org/wiki/Privacy_Policy"
|
||||
title="wiki privacy policy including section on email addresses">隐私政策</a>)
|
||||
not displayed publicly: 您的地址未公开显示,请参见我们的<a href="http://wiki.osmfoundation.org/wiki/Privacy_Policy"
|
||||
title="OSMF隐私政策,包含部分电子邮件地址">隐私政策</a>以获取更多信息
|
||||
display name: 显示名称:
|
||||
display name description: 您公开显示的用户名。您可以稍后在首选项中进行修改。
|
||||
external auth: 第三方身份验证:
|
||||
|
@ -1754,7 +1755,7 @@ zh-CN:
|
|||
remove as friend: 删除朋友
|
||||
add as friend: 添加朋友
|
||||
mapper since: 绘图始于:
|
||||
ago: (%{time_in_words_ago} 前)
|
||||
ago: (%{time_in_words_ago} 前)
|
||||
ct status: 贡献者条款:
|
||||
ct undecided: 未决定
|
||||
ct declined: 已拒绝
|
||||
|
|
|
@ -990,8 +990,8 @@ zh-TW:
|
|||
intro_2_html: |-
|
||||
您可以自由地複製、散布、傳輸及修改我們的資料,前提是您須標明作者為 OpenStreetMap 及其貢獻者。若您在我們的資料上作修改或據之衍生其他資料
|
||||
,則只可依相同授權條款散佈有關成果。授權的<a href="http://opendatacommons.org/licenses/odbl/1.0/">法律原文</a>詳述您的權責。
|
||||
intro_3_html: 我們地圖影像塊的製圖法以及我們的文件,以<a href="http://creativecommons.org/licenses/by-sa/2.0/">共享創意-署名-相同方式共享
|
||||
2.0</a>(CC BY-SA) 條款授權。
|
||||
intro_3_html: 我們地圖影像塊的製圖法以及我們的文件,以<a href="http://creativecommons.org/licenses/by-sa/2.0/deed.zh_TW">創用CC
|
||||
姓名標示-相同方式分享 (CC BY-SA) 2.0版</a>條款授權。
|
||||
credit_title_html: 如何標明作者是 OpenStreetMap
|
||||
credit_1_html: 我們要求您以“© OpenStreetMap 貢獻者”標明作者。
|
||||
credit_2_html: 您亦須清晰註明,有關資料可透過開放資料庫授權條款取得。若使用我們的影像塊,則須註明其製圖法是按 CC-BY-SA 授權。您可以透過連結至<a
|
||||
|
@ -1007,15 +1007,16 @@ zh-TW:
|
|||
more_title_html: 尋找更多
|
||||
more_1_html: |-
|
||||
在<a
|
||||
href="http://wiki.openstreetmap.org/wiki/Legal_FAQ">常見法律問題</a>中,可閱讀更多關於使用我們的資料,以及如何標明我們是作者的資料。
|
||||
href="http://osmfoundation.org/Licence">OSMF 授權條款頁面</a>與<a
|
||||
href="http://wiki.openstreetmap.org/wiki/Zh-hant:Legal_FAQ">法律上的常見問題</a>中,可閱讀更多關於使用我們的資料,以及如何標明我們是作者的資料。
|
||||
more_2_html: 雖然 OpenStreetMap 是開放資料,但我們無法為第三方開發人員提供免費的地圖 API。詳見我們的<a href="http://wiki.openstreetmap.org/wiki/API_usage_policy">API
|
||||
使用政策</a>、<a href="http://wiki.openstreetmap.org/wiki/Tile_usage_policy">地圖影像塊使用政策</a>及<a
|
||||
href="http://wiki.openstreetmap.org/wiki/Nominatim#Usage_Policy">Nominatim
|
||||
href="http://wiki.openstreetmap.org/wiki/Zh-hant:Nominatim#使用政策">Nominatim
|
||||
服務使用政策</a>。
|
||||
contributors_title_html: 我們的貢獻者
|
||||
contributors_intro_html: 我們的貢獻者為成千上萬的人。我們也收納了從國家測繪機構及其他來源等取得的開放版權資料,其中包括:
|
||||
contributors_at_html: <strong>奧地利</strong>:包含來自 <a href="http://data.wien.gv.at/">Stadt
|
||||
Wien</a> (<a href="http://creativecommons.org/licenses/by/3.0/at/deed.de">CC
|
||||
Wien</a> (<a href="http://creativecommons.org/licenses/by/3.0/at/deed.zh_TW">CC
|
||||
BY</a>授權) 、<a href="http://www.vorarlberg.at/vorarlberg/bauen_wohnen/bauen/vermessung_geoinformation/weitereinformationen/services/wmsdienste.htm">Land
|
||||
Vorarlberg</a>及 Land Tirol (修訂的<a href="http://www.tirol.gv.at/applikationen/e-government/data/nutzungsbedingungen/">CC-BY
|
||||
AT</a>授權) 的資料。
|
||||
|
@ -1161,8 +1162,9 @@ zh-TW:
|
|||
及其貢獻者。若您在我們的資料上作修改或以之透過某些方式衍生其他資料,則只可依相同授權條款散佈有關成果。詳情請參閱<a href='%{copyright_path}'>版權及授權條款頁面</a>。
|
||||
legal_title: 法律資訊
|
||||
legal_html: "本站以及許多相關的服務正式由<a href='http://osmfoundation.org/'>OpenStreetMap 基金會</a>
|
||||
(OSMF) 代表社群所營運。\n<br> \n若您有任何授權、版權或其他法律諮詢與問題,請<a href='http://osmfoundation.org/Contact'>聯絡
|
||||
OSMF</a>。"
|
||||
(OSMF) 代表社群所營運。所有使用的OSMF運行服務皆符合我們的<a href=\"http://wiki.openstreetmap.org/wiki/Acceptable_Use_Policy\">可接受使用政策</a>和<a
|
||||
href=\"http://wiki.osmfoundation.org/wiki/Privacy_Policy\">隱私政策</a>\n<br> \n若您有任何授權、版權或其他法律諮詢與問題,請<a
|
||||
href='http://osmfoundation.org/Contact'>聯絡 OSMF</a>。"
|
||||
partners_title: 合作夥伴
|
||||
notifier:
|
||||
diary_comment_notification:
|
||||
|
@ -1530,7 +1532,7 @@ zh-TW:
|
|||
public_traces_from: '%{user} 的公開 GPS 軌跡'
|
||||
description: 瀏覽最近的 GPS 軌跡上傳
|
||||
tagged_with: 有如下標籤:%{tags}
|
||||
empty_html: 還沒有軌跡。<a href='%{upload_link}'>上傳新的軌跡</a>或在 <a href='http://wiki.openstreetmap.org/wiki/Beginners_Guide_1.2'>wiki
|
||||
empty_html: 還沒有軌跡。<a href='%{upload_link}'>上傳新的軌跡</a>或在 <a href='http://wiki.openstreetmap.org/wiki/Zh-hant:Beginners_Guide_1.2'>wiki
|
||||
頁面</a>上瞭解更多有關 GPS 軌跡的資訊。
|
||||
delete:
|
||||
scheduled_for_deletion: 軌跡已被排程刪除
|
||||
|
@ -1717,8 +1719,8 @@ zh-TW:
|
|||
。
|
||||
email address: 電子郵件地址:
|
||||
confirm email address: 確認電子郵件地址:
|
||||
not displayed publicly: 不要公開顯示 (請看 <a href="http://wiki.openstreetmap.org/wiki/Privacy_Policy"
|
||||
title="wiki privacy policy including section on email addresses">隱私權政策</a>)
|
||||
not displayed publicly: 您的地址未公開顯示,請看我們的<a href="http://wiki.osmfoundation.org/wiki/Privacy_Policy"
|
||||
title="包含部份電郵地址的OSMF隱私權政策">隱私權政策</a>來獲得更多訊息
|
||||
display name: 顯示名稱:
|
||||
display name description: 您公開顯示的使用者名稱。您可以稍後在偏好設定中改變它。
|
||||
external auth: 第三方身份認證
|
||||
|
|
|
@ -85,32 +85,40 @@ class BrowseControllerTest < ActionController::TestCase
|
|||
end
|
||||
|
||||
def test_read_note
|
||||
browse_check "note", notes(:open_note).id, "browse/note"
|
||||
open_note = create(:note_with_comments)
|
||||
|
||||
browse_check "note", open_note.id, "browse/note"
|
||||
end
|
||||
|
||||
def test_read_hidden_note
|
||||
get :note, :id => notes(:hidden_note_with_comment).id
|
||||
hidden_note_with_comment = create(:note_with_comments, :status => "hidden")
|
||||
|
||||
get :note, :id => hidden_note_with_comment.id
|
||||
assert_response :not_found
|
||||
assert_template "browse/not_found"
|
||||
assert_template :layout => "map"
|
||||
|
||||
xhr :get, :note, :id => notes(:hidden_note_with_comment).id
|
||||
xhr :get, :note, :id => hidden_note_with_comment.id
|
||||
assert_response :not_found
|
||||
assert_template "browse/not_found"
|
||||
assert_template :layout => "xhr"
|
||||
|
||||
session[:user] = users(:moderator_user).id
|
||||
|
||||
browse_check "note", notes(:hidden_note_with_comment).id, "browse/note"
|
||||
browse_check "note", hidden_note_with_comment.id, "browse/note"
|
||||
end
|
||||
|
||||
def test_read_note_hidden_comments
|
||||
browse_check "note", notes(:note_with_hidden_comment).id, "browse/note"
|
||||
note_with_hidden_comment = create(:note_with_comments, :comments_count => 2) do |note|
|
||||
create(:note_comment, :note => note, :visible => false)
|
||||
end
|
||||
|
||||
browse_check "note", note_with_hidden_comment.id, "browse/note"
|
||||
assert_select "div.note-comments ul li", :count => 1
|
||||
|
||||
session[:user] = users(:moderator_user).id
|
||||
|
||||
browse_check "note", notes(:note_with_hidden_comment).id, "browse/note"
|
||||
browse_check "note", note_with_hidden_comment.id, "browse/note"
|
||||
assert_select "div.note-comments ul li", :count => 2
|
||||
end
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ require "changeset_controller"
|
|||
|
||||
class ChangesetControllerTest < ActionController::TestCase
|
||||
api_fixtures
|
||||
fixtures :friends, :changeset_comments, :changesets_subscribers
|
||||
fixtures :changeset_comments, :changesets_subscribers
|
||||
|
||||
##
|
||||
# test all routes which lead to this controller
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
require "test_helper"
|
||||
|
||||
class DiaryEntryControllerTest < ActionController::TestCase
|
||||
fixtures :users, :user_roles, :languages, :friends
|
||||
fixtures :users, :user_roles, :languages
|
||||
|
||||
include ActionView::Helpers::NumberHelper
|
||||
|
||||
|
@ -440,7 +440,8 @@ class DiaryEntryControllerTest < ActionController::TestCase
|
|||
end
|
||||
|
||||
def test_list_friends
|
||||
diary_entry = create(:diary_entry, :user_id => friends(:normal_user_with_second_user).friend_user_id)
|
||||
friend = create(:friend, :user_id => users(:normal_user).id)
|
||||
diary_entry = create(:diary_entry, :user_id => friend.friend_user_id)
|
||||
_other_entry = create(:diary_entry, :user_id => users(:second_public_user).id)
|
||||
|
||||
# Try a list of diary entries for your friends when not logged in
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
require "test_helper"
|
||||
|
||||
class NotesControllerTest < ActionController::TestCase
|
||||
fixtures :users, :user_roles, :notes, :note_comments
|
||||
fixtures :users, :user_roles
|
||||
|
||||
##
|
||||
# test all routes which lead to this controller
|
||||
|
@ -214,44 +214,50 @@ class NotesControllerTest < ActionController::TestCase
|
|||
end
|
||||
|
||||
def test_comment_success
|
||||
open_note_with_comment = create(:note_with_comments)
|
||||
assert_difference "NoteComment.count", 1 do
|
||||
assert_no_difference "ActionMailer::Base.deliveries.size" do
|
||||
post :comment, :id => notes(:open_note_with_comment).id, :text => "This is an additional comment", :format => "json"
|
||||
post :comment, :id => open_note_with_comment.id, :text => "This is an additional comment", :format => "json"
|
||||
end
|
||||
end
|
||||
assert_response :success
|
||||
js = ActiveSupport::JSON.decode(@response.body)
|
||||
assert_not_nil js
|
||||
assert_equal "Feature", js["type"]
|
||||
assert_equal notes(:open_note_with_comment).id, js["properties"]["id"]
|
||||
assert_equal open_note_with_comment.id, js["properties"]["id"]
|
||||
assert_equal "open", js["properties"]["status"]
|
||||
assert_equal 5, js["properties"]["comments"].count
|
||||
assert_equal 2, js["properties"]["comments"].count
|
||||
assert_equal "commented", js["properties"]["comments"].last["action"]
|
||||
assert_equal "This is an additional comment", js["properties"]["comments"].last["text"]
|
||||
assert_nil js["properties"]["comments"].last["user"]
|
||||
|
||||
get :show, :id => notes(:open_note_with_comment).id, :format => "json"
|
||||
get :show, :id => open_note_with_comment.id, :format => "json"
|
||||
assert_response :success
|
||||
js = ActiveSupport::JSON.decode(@response.body)
|
||||
assert_not_nil js
|
||||
assert_equal "Feature", js["type"]
|
||||
assert_equal notes(:open_note_with_comment).id, js["properties"]["id"]
|
||||
assert_equal open_note_with_comment.id, js["properties"]["id"]
|
||||
assert_equal "open", js["properties"]["status"]
|
||||
assert_equal 5, js["properties"]["comments"].count
|
||||
assert_equal 2, js["properties"]["comments"].count
|
||||
assert_equal "commented", js["properties"]["comments"].last["action"]
|
||||
assert_equal "This is an additional comment", js["properties"]["comments"].last["text"]
|
||||
assert_nil js["properties"]["comments"].last["user"]
|
||||
|
||||
# Ensure that emails are sent to users
|
||||
note_with_comments_by_users = create(:note) do |note|
|
||||
create(:note_comment, :note => note, :author_id => users(:normal_user).id)
|
||||
create(:note_comment, :note => note, :author_id => users(:second_public_user).id)
|
||||
end
|
||||
assert_difference "NoteComment.count", 1 do
|
||||
assert_difference "ActionMailer::Base.deliveries.size", 2 do
|
||||
post :comment, :id => notes(:note_with_comments_by_users).id, :text => "This is an additional comment", :format => "json"
|
||||
post :comment, :id => note_with_comments_by_users.id, :text => "This is an additional comment", :format => "json"
|
||||
end
|
||||
end
|
||||
assert_response :success
|
||||
js = ActiveSupport::JSON.decode(@response.body)
|
||||
assert_not_nil js
|
||||
assert_equal "Feature", js["type"]
|
||||
assert_equal notes(:note_with_comments_by_users).id, js["properties"]["id"]
|
||||
assert_equal note_with_comments_by_users.id, js["properties"]["id"]
|
||||
assert_equal "open", js["properties"]["status"]
|
||||
assert_equal 3, js["properties"]["comments"].count
|
||||
assert_equal "commented", js["properties"]["comments"].last["action"]
|
||||
|
@ -268,12 +274,12 @@ class NotesControllerTest < ActionController::TestCase
|
|||
assert_equal 1, email.to.length
|
||||
assert_equal "[OpenStreetMap] An anonymous user has commented on a note you are interested in", email.subject
|
||||
|
||||
get :show, :id => notes(:note_with_comments_by_users).id, :format => "json"
|
||||
get :show, :id => note_with_comments_by_users.id, :format => "json"
|
||||
assert_response :success
|
||||
js = ActiveSupport::JSON.decode(@response.body)
|
||||
assert_not_nil js
|
||||
assert_equal "Feature", js["type"]
|
||||
assert_equal notes(:note_with_comments_by_users).id, js["properties"]["id"]
|
||||
assert_equal note_with_comments_by_users.id, js["properties"]["id"]
|
||||
assert_equal "open", js["properties"]["status"]
|
||||
assert_equal 3, js["properties"]["comments"].count
|
||||
assert_equal "commented", js["properties"]["comments"].last["action"]
|
||||
|
@ -286,14 +292,14 @@ class NotesControllerTest < ActionController::TestCase
|
|||
|
||||
assert_difference "NoteComment.count", 1 do
|
||||
assert_difference "ActionMailer::Base.deliveries.size", 2 do
|
||||
post :comment, :id => notes(:note_with_comments_by_users).id, :text => "This is an additional comment", :format => "json"
|
||||
post :comment, :id => note_with_comments_by_users.id, :text => "This is an additional comment", :format => "json"
|
||||
end
|
||||
end
|
||||
assert_response :success
|
||||
js = ActiveSupport::JSON.decode(@response.body)
|
||||
assert_not_nil js
|
||||
assert_equal "Feature", js["type"]
|
||||
assert_equal notes(:note_with_comments_by_users).id, js["properties"]["id"]
|
||||
assert_equal note_with_comments_by_users.id, js["properties"]["id"]
|
||||
assert_equal "open", js["properties"]["status"]
|
||||
assert_equal 4, js["properties"]["comments"].count
|
||||
assert_equal "commented", js["properties"]["comments"].last["action"]
|
||||
|
@ -311,12 +317,12 @@ class NotesControllerTest < ActionController::TestCase
|
|||
assert_equal 1, email.to.length
|
||||
assert_equal "[OpenStreetMap] test2 has commented on a note you are interested in", email.subject
|
||||
|
||||
get :show, :id => notes(:note_with_comments_by_users).id, :format => "json"
|
||||
get :show, :id => note_with_comments_by_users.id, :format => "json"
|
||||
assert_response :success
|
||||
js = ActiveSupport::JSON.decode(@response.body)
|
||||
assert_not_nil js
|
||||
assert_equal "Feature", js["type"]
|
||||
assert_equal notes(:note_with_comments_by_users).id, js["properties"]["id"]
|
||||
assert_equal note_with_comments_by_users.id, js["properties"]["id"]
|
||||
assert_equal "open", js["properties"]["status"]
|
||||
assert_equal 4, js["properties"]["comments"].count
|
||||
assert_equal "commented", js["properties"]["comments"].last["action"]
|
||||
|
@ -327,18 +333,20 @@ class NotesControllerTest < ActionController::TestCase
|
|||
end
|
||||
|
||||
def test_comment_fail
|
||||
open_note_with_comment = create(:note_with_comments)
|
||||
|
||||
assert_no_difference "NoteComment.count" do
|
||||
post :comment, :text => "This is an additional comment"
|
||||
end
|
||||
assert_response :bad_request
|
||||
|
||||
assert_no_difference "NoteComment.count" do
|
||||
post :comment, :id => notes(:open_note_with_comment).id
|
||||
post :comment, :id => open_note_with_comment.id
|
||||
end
|
||||
assert_response :bad_request
|
||||
|
||||
assert_no_difference "NoteComment.count" do
|
||||
post :comment, :id => notes(:open_note_with_comment).id, :text => ""
|
||||
post :comment, :id => open_note_with_comment.id, :text => ""
|
||||
end
|
||||
assert_response :bad_request
|
||||
|
||||
|
@ -347,43 +355,49 @@ class NotesControllerTest < ActionController::TestCase
|
|||
end
|
||||
assert_response :not_found
|
||||
|
||||
hidden_note_with_comment = create(:note_with_comments, :status => "hidden")
|
||||
|
||||
assert_no_difference "NoteComment.count" do
|
||||
post :comment, :id => notes(:hidden_note_with_comment).id, :text => "This is an additional comment"
|
||||
post :comment, :id => hidden_note_with_comment.id, :text => "This is an additional comment"
|
||||
end
|
||||
assert_response :gone
|
||||
|
||||
closed_note_with_comment = create(:note_with_comments, :status => "closed", :closed_at => Time.now)
|
||||
|
||||
assert_no_difference "NoteComment.count" do
|
||||
post :comment, :id => notes(:closed_note_with_comment).id, :text => "This is an additional comment"
|
||||
post :comment, :id => closed_note_with_comment.id, :text => "This is an additional comment"
|
||||
end
|
||||
assert_response :conflict
|
||||
end
|
||||
|
||||
def test_close_success
|
||||
post :close, :id => notes(:open_note_with_comment).id, :text => "This is a close comment", :format => "json"
|
||||
open_note_with_comment = create(:note_with_comments)
|
||||
|
||||
post :close, :id => open_note_with_comment.id, :text => "This is a close comment", :format => "json"
|
||||
assert_response :unauthorized
|
||||
|
||||
basic_authorization(users(:public_user).email, "test")
|
||||
|
||||
post :close, :id => notes(:open_note_with_comment).id, :text => "This is a close comment", :format => "json"
|
||||
post :close, :id => open_note_with_comment.id, :text => "This is a close comment", :format => "json"
|
||||
assert_response :success
|
||||
js = ActiveSupport::JSON.decode(@response.body)
|
||||
assert_not_nil js
|
||||
assert_equal "Feature", js["type"]
|
||||
assert_equal notes(:open_note_with_comment).id, js["properties"]["id"]
|
||||
assert_equal open_note_with_comment.id, js["properties"]["id"]
|
||||
assert_equal "closed", js["properties"]["status"]
|
||||
assert_equal 5, js["properties"]["comments"].count
|
||||
assert_equal 2, js["properties"]["comments"].count
|
||||
assert_equal "closed", js["properties"]["comments"].last["action"]
|
||||
assert_equal "This is a close comment", js["properties"]["comments"].last["text"]
|
||||
assert_equal "test2", js["properties"]["comments"].last["user"]
|
||||
|
||||
get :show, :id => notes(:open_note_with_comment).id, :format => "json"
|
||||
get :show, :id => open_note_with_comment.id, :format => "json"
|
||||
assert_response :success
|
||||
js = ActiveSupport::JSON.decode(@response.body)
|
||||
assert_not_nil js
|
||||
assert_equal "Feature", js["type"]
|
||||
assert_equal notes(:open_note_with_comment).id, js["properties"]["id"]
|
||||
assert_equal open_note_with_comment.id, js["properties"]["id"]
|
||||
assert_equal "closed", js["properties"]["status"]
|
||||
assert_equal 5, js["properties"]["comments"].count
|
||||
assert_equal 2, js["properties"]["comments"].count
|
||||
assert_equal "closed", js["properties"]["comments"].last["action"]
|
||||
assert_equal "This is a close comment", js["properties"]["comments"].last["text"]
|
||||
assert_equal "test2", js["properties"]["comments"].last["user"]
|
||||
|
@ -401,37 +415,43 @@ class NotesControllerTest < ActionController::TestCase
|
|||
post :close, :id => 12345
|
||||
assert_response :not_found
|
||||
|
||||
post :close, :id => notes(:hidden_note_with_comment).id
|
||||
hidden_note_with_comment = create(:note_with_comments, :status => "hidden")
|
||||
|
||||
post :close, :id => hidden_note_with_comment.id
|
||||
assert_response :gone
|
||||
|
||||
post :close, :id => notes(:closed_note_with_comment).id
|
||||
closed_note_with_comment = create(:note_with_comments, :status => "closed", :closed_at => Time.now)
|
||||
|
||||
post :close, :id => closed_note_with_comment.id
|
||||
assert_response :conflict
|
||||
end
|
||||
|
||||
def test_reopen_success
|
||||
post :reopen, :id => notes(:closed_note_with_comment).id, :text => "This is a reopen comment", :format => "json"
|
||||
closed_note_with_comment = create(:note_with_comments, :status => "closed", :closed_at => Time.now)
|
||||
|
||||
post :reopen, :id => closed_note_with_comment.id, :text => "This is a reopen comment", :format => "json"
|
||||
assert_response :unauthorized
|
||||
|
||||
basic_authorization(users(:public_user).email, "test")
|
||||
|
||||
post :reopen, :id => notes(:closed_note_with_comment).id, :text => "This is a reopen comment", :format => "json"
|
||||
post :reopen, :id => closed_note_with_comment.id, :text => "This is a reopen comment", :format => "json"
|
||||
assert_response :success
|
||||
js = ActiveSupport::JSON.decode(@response.body)
|
||||
assert_not_nil js
|
||||
assert_equal "Feature", js["type"]
|
||||
assert_equal notes(:closed_note_with_comment).id, js["properties"]["id"]
|
||||
assert_equal closed_note_with_comment.id, js["properties"]["id"]
|
||||
assert_equal "open", js["properties"]["status"]
|
||||
assert_equal 2, js["properties"]["comments"].count
|
||||
assert_equal "reopened", js["properties"]["comments"].last["action"]
|
||||
assert_equal "This is a reopen comment", js["properties"]["comments"].last["text"]
|
||||
assert_equal "test2", js["properties"]["comments"].last["user"]
|
||||
|
||||
get :show, :id => notes(:closed_note_with_comment).id, :format => "json"
|
||||
get :show, :id => closed_note_with_comment.id, :format => "json"
|
||||
assert_response :success
|
||||
js = ActiveSupport::JSON.decode(@response.body)
|
||||
assert_not_nil js
|
||||
assert_equal "Feature", js["type"]
|
||||
assert_equal notes(:closed_note_with_comment).id, js["properties"]["id"]
|
||||
assert_equal closed_note_with_comment.id, js["properties"]["id"]
|
||||
assert_equal "open", js["properties"]["status"]
|
||||
assert_equal 2, js["properties"]["comments"].count
|
||||
assert_equal "reopened", js["properties"]["comments"].last["action"]
|
||||
|
@ -440,7 +460,9 @@ class NotesControllerTest < ActionController::TestCase
|
|||
end
|
||||
|
||||
def test_reopen_fail
|
||||
post :reopen, :id => notes(:hidden_note_with_comment).id
|
||||
hidden_note_with_comment = create(:note_with_comments, :status => "hidden")
|
||||
|
||||
post :reopen, :id => hidden_note_with_comment.id
|
||||
assert_response :unauthorized
|
||||
|
||||
basic_authorization(users(:public_user).email, "test")
|
||||
|
@ -448,126 +470,138 @@ class NotesControllerTest < ActionController::TestCase
|
|||
post :reopen, :id => 12345
|
||||
assert_response :not_found
|
||||
|
||||
post :reopen, :id => notes(:hidden_note_with_comment).id
|
||||
post :reopen, :id => hidden_note_with_comment.id
|
||||
assert_response :gone
|
||||
|
||||
post :reopen, :id => notes(:open_note_with_comment).id
|
||||
open_note_with_comment = create(:note_with_comments)
|
||||
|
||||
post :reopen, :id => open_note_with_comment.id
|
||||
assert_response :conflict
|
||||
end
|
||||
|
||||
def test_show_success
|
||||
get :show, :id => notes(:open_note).id, :format => "xml"
|
||||
open_note = create(:note_with_comments)
|
||||
|
||||
get :show, :id => open_note.id, :format => "xml"
|
||||
assert_response :success
|
||||
assert_equal "application/xml", @response.content_type
|
||||
assert_select "osm", :count => 1 do
|
||||
assert_select "note[lat='#{notes(:open_note).lat}'][lon='#{notes(:open_note).lon}']", :count => 1 do
|
||||
assert_select "id", notes(:open_note).id
|
||||
assert_select "url", note_url(notes(:open_note), :format => "xml")
|
||||
assert_select "comment_url", comment_note_url(notes(:open_note), :format => "xml")
|
||||
assert_select "close_url", close_note_url(notes(:open_note), :format => "xml")
|
||||
assert_select "date_created", notes(:open_note).created_at.to_s
|
||||
assert_select "status", notes(:open_note).status
|
||||
assert_select "note[lat='#{open_note.lat}'][lon='#{open_note.lon}']", :count => 1 do
|
||||
assert_select "id", open_note.id.to_s
|
||||
assert_select "url", note_url(open_note, :format => "xml")
|
||||
assert_select "comment_url", comment_note_url(open_note, :format => "xml")
|
||||
assert_select "close_url", close_note_url(open_note, :format => "xml")
|
||||
assert_select "date_created", open_note.created_at.to_s
|
||||
assert_select "status", open_note.status
|
||||
assert_select "comments", :count => 1 do
|
||||
assert_select "comment", :count => 1
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
get :show, :id => notes(:open_note).id, :format => "rss"
|
||||
get :show, :id => open_note.id, :format => "rss"
|
||||
assert_response :success
|
||||
assert_equal "application/rss+xml", @response.content_type
|
||||
assert_select "rss", :count => 1 do
|
||||
assert_select "channel", :count => 1 do
|
||||
assert_select "item", :count => 1 do
|
||||
assert_select "link", browse_note_url(notes(:open_note))
|
||||
assert_select "guid", note_url(notes(:open_note))
|
||||
assert_select "pubDate", notes(:open_note).created_at.to_s(:rfc822)
|
||||
# assert_select "geo:lat", notes(:open_note).lat.to_s
|
||||
# assert_select "geo:long", notes(:open_note).lon
|
||||
# assert_select "georss:point", "#{notes(:open_note).lon} #{notes(:open_note).lon}"
|
||||
assert_select "link", browse_note_url(open_note)
|
||||
assert_select "guid", note_url(open_note)
|
||||
assert_select "pubDate", open_note.created_at.to_s(:rfc822)
|
||||
# assert_select "geo:lat", open_note.lat.to_s
|
||||
# assert_select "geo:long", open_note.lon
|
||||
# assert_select "georss:point", "#{open_note.lon} #{open_note.lon}"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
get :show, :id => notes(:open_note).id, :format => "json"
|
||||
get :show, :id => open_note.id, :format => "json"
|
||||
assert_response :success
|
||||
assert_equal "application/json", @response.content_type
|
||||
js = ActiveSupport::JSON.decode(@response.body)
|
||||
assert_not_nil js
|
||||
assert_equal "Feature", js["type"]
|
||||
assert_equal "Point", js["geometry"]["type"]
|
||||
assert_equal notes(:open_note).lat, js["geometry"]["coordinates"][0]
|
||||
assert_equal notes(:open_note).lon, js["geometry"]["coordinates"][1]
|
||||
assert_equal notes(:open_note).id, js["properties"]["id"]
|
||||
assert_equal note_url(notes(:open_note), :format => "json"), js["properties"]["url"]
|
||||
assert_equal comment_note_url(notes(:open_note), :format => "json"), js["properties"]["comment_url"]
|
||||
assert_equal close_note_url(notes(:open_note), :format => "json"), js["properties"]["close_url"]
|
||||
assert_equal notes(:open_note).created_at, js["properties"]["date_created"]
|
||||
assert_equal notes(:open_note).status, js["properties"]["status"]
|
||||
assert_equal open_note.lat, js["geometry"]["coordinates"][0]
|
||||
assert_equal open_note.lon, js["geometry"]["coordinates"][1]
|
||||
assert_equal open_note.id, js["properties"]["id"]
|
||||
assert_equal note_url(open_note, :format => "json"), js["properties"]["url"]
|
||||
assert_equal comment_note_url(open_note, :format => "json"), js["properties"]["comment_url"]
|
||||
assert_equal close_note_url(open_note, :format => "json"), js["properties"]["close_url"]
|
||||
assert_equal open_note.created_at.to_s, js["properties"]["date_created"]
|
||||
assert_equal open_note.status, js["properties"]["status"]
|
||||
|
||||
get :show, :id => notes(:open_note).id, :format => "gpx"
|
||||
get :show, :id => open_note.id, :format => "gpx"
|
||||
assert_response :success
|
||||
assert_equal "application/gpx+xml", @response.content_type
|
||||
assert_select "gpx", :count => 1 do
|
||||
assert_select "wpt[lat='#{notes(:open_note).lat}'][lon='#{notes(:open_note).lon}']", :count => 1 do
|
||||
assert_select "wpt[lat='#{open_note.lat}'][lon='#{open_note.lon}']", :count => 1 do
|
||||
assert_select "time", :count => 1
|
||||
assert_select "name", "Note: #{notes(:open_note).id}"
|
||||
assert_select "name", "Note: #{open_note.id}"
|
||||
assert_select "desc", :count => 1
|
||||
assert_select "link[href='http://www.openstreetmap.org/note/#{notes(:open_note).id}']", :count => 1
|
||||
assert_select "link[href='http://www.openstreetmap.org/note/#{open_note.id}']", :count => 1
|
||||
assert_select "extensions", :count => 1 do
|
||||
assert_select "id", notes(:open_note).id
|
||||
assert_select "url", note_url(notes(:open_note), :format => "gpx")
|
||||
assert_select "comment_url", comment_note_url(notes(:open_note), :format => "gpx")
|
||||
assert_select "close_url", close_note_url(notes(:open_note), :format => "gpx")
|
||||
assert_select "id", open_note.id.to_s
|
||||
assert_select "url", note_url(open_note, :format => "gpx")
|
||||
assert_select "comment_url", comment_note_url(open_note, :format => "gpx")
|
||||
assert_select "close_url", close_note_url(open_note, :format => "gpx")
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def test_show_hidden_comment
|
||||
get :show, :id => notes(:note_with_hidden_comment).id, :format => "json"
|
||||
note_with_hidden_comment = create(:note) do |note|
|
||||
create(:note_comment, :note => note, :body => "Valid comment for hidden note")
|
||||
create(:note_comment, :note => note, :visible => false)
|
||||
create(:note_comment, :note => note, :body => "Another valid comment for hidden note")
|
||||
end
|
||||
|
||||
get :show, :id => note_with_hidden_comment.id, :format => "json"
|
||||
assert_response :success
|
||||
js = ActiveSupport::JSON.decode(@response.body)
|
||||
assert_not_nil js
|
||||
assert_equal "Feature", js["type"]
|
||||
assert_equal notes(:note_with_hidden_comment).id, js["properties"]["id"]
|
||||
assert_equal note_with_hidden_comment.id, js["properties"]["id"]
|
||||
assert_equal 2, js["properties"]["comments"].count
|
||||
assert_equal "Valid comment for note 5", js["properties"]["comments"][0]["text"]
|
||||
assert_equal "Another valid comment for note 5", js["properties"]["comments"][1]["text"]
|
||||
assert_equal "Valid comment for hidden note", js["properties"]["comments"][0]["text"]
|
||||
assert_equal "Another valid comment for hidden note", js["properties"]["comments"][1]["text"]
|
||||
end
|
||||
|
||||
def test_show_fail
|
||||
get :show, :id => 12345
|
||||
assert_response :not_found
|
||||
|
||||
get :show, :id => notes(:hidden_note_with_comment).id
|
||||
get :show, :id => create(:note, :status => "hidden").id
|
||||
assert_response :gone
|
||||
end
|
||||
|
||||
def test_destroy_success
|
||||
delete :destroy, :id => notes(:open_note_with_comment).id, :text => "This is a hide comment", :format => "json"
|
||||
open_note_with_comment = create(:note_with_comments)
|
||||
|
||||
delete :destroy, :id => open_note_with_comment.id, :text => "This is a hide comment", :format => "json"
|
||||
assert_response :unauthorized
|
||||
|
||||
basic_authorization(users(:public_user).email, "test")
|
||||
|
||||
delete :destroy, :id => notes(:open_note_with_comment).id, :text => "This is a hide comment", :format => "json"
|
||||
delete :destroy, :id => open_note_with_comment.id, :text => "This is a hide comment", :format => "json"
|
||||
assert_response :forbidden
|
||||
|
||||
basic_authorization(users(:moderator_user).email, "test")
|
||||
|
||||
delete :destroy, :id => notes(:open_note_with_comment).id, :text => "This is a hide comment", :format => "json"
|
||||
delete :destroy, :id => open_note_with_comment.id, :text => "This is a hide comment", :format => "json"
|
||||
assert_response :success
|
||||
js = ActiveSupport::JSON.decode(@response.body)
|
||||
assert_not_nil js
|
||||
assert_equal "Feature", js["type"]
|
||||
assert_equal notes(:open_note_with_comment).id, js["properties"]["id"]
|
||||
assert_equal open_note_with_comment.id, js["properties"]["id"]
|
||||
assert_equal "hidden", js["properties"]["status"]
|
||||
assert_equal 5, js["properties"]["comments"].count
|
||||
assert_equal 2, js["properties"]["comments"].count
|
||||
assert_equal "hidden", js["properties"]["comments"].last["action"]
|
||||
assert_equal "This is a hide comment", js["properties"]["comments"].last["text"]
|
||||
assert_equal "moderator", js["properties"]["comments"].last["user"]
|
||||
|
||||
get :show, :id => notes(:open_note_with_comment).id, :format => "json"
|
||||
get :show, :id => open_note_with_comment.id, :format => "json"
|
||||
assert_response :gone
|
||||
end
|
||||
|
||||
|
@ -585,11 +619,17 @@ class NotesControllerTest < ActionController::TestCase
|
|||
delete :destroy, :id => 12345, :format => "json"
|
||||
assert_response :not_found
|
||||
|
||||
delete :destroy, :id => notes(:hidden_note_with_comment).id, :format => "json"
|
||||
hidden_note_with_comment = create(:note_with_comments, :status => "hidden")
|
||||
|
||||
delete :destroy, :id => hidden_note_with_comment.id, :format => "json"
|
||||
assert_response :gone
|
||||
end
|
||||
|
||||
def test_index_success
|
||||
position = (1.1 * GeoRecord::SCALE).to_i
|
||||
create(:note_with_comments, :latitude => position, :longitude => position)
|
||||
create(:note_with_comments, :latitude => position, :longitude => position)
|
||||
|
||||
get :index, :bbox => "1,1,1.2,1.2", :format => "rss"
|
||||
assert_response :success
|
||||
assert_equal "application/rss+xml", @response.content_type
|
||||
|
@ -623,6 +663,10 @@ class NotesControllerTest < ActionController::TestCase
|
|||
end
|
||||
|
||||
def test_index_limit
|
||||
position = (1.1 * GeoRecord::SCALE).to_i
|
||||
create(:note_with_comments, :latitude => position, :longitude => position)
|
||||
create(:note_with_comments, :latitude => position, :longitude => position)
|
||||
|
||||
get :index, :bbox => "1,1,1.2,1.2", :limit => 1, :format => "rss"
|
||||
assert_response :success
|
||||
assert_equal "application/rss+xml", @response.content_type
|
||||
|
@ -707,29 +751,37 @@ class NotesControllerTest < ActionController::TestCase
|
|||
end
|
||||
|
||||
def test_index_closed
|
||||
create(:note_with_comments, :status => "closed", :closed_at => Time.now - 5.days)
|
||||
create(:note_with_comments, :status => "closed", :closed_at => Time.now - 100.days)
|
||||
create(:note_with_comments, :status => "hidden")
|
||||
create(:note_with_comments)
|
||||
|
||||
# Open notes + closed in last 7 days
|
||||
get :index, :bbox => "1,1,1.7,1.7", :closed => "7", :format => "json"
|
||||
assert_response :success
|
||||
assert_equal "application/json", @response.content_type
|
||||
js = ActiveSupport::JSON.decode(@response.body)
|
||||
assert_not_nil js
|
||||
assert_equal "FeatureCollection", js["type"]
|
||||
assert_equal 4, js["features"].count
|
||||
assert_equal 2, js["features"].count
|
||||
|
||||
# Only open notes
|
||||
get :index, :bbox => "1,1,1.7,1.7", :closed => "0", :format => "json"
|
||||
assert_response :success
|
||||
assert_equal "application/json", @response.content_type
|
||||
js = ActiveSupport::JSON.decode(@response.body)
|
||||
assert_not_nil js
|
||||
assert_equal "FeatureCollection", js["type"]
|
||||
assert_equal 4, js["features"].count
|
||||
assert_equal 1, js["features"].count
|
||||
|
||||
# Open notes + all closed notes
|
||||
get :index, :bbox => "1,1,1.7,1.7", :closed => "-1", :format => "json"
|
||||
assert_response :success
|
||||
assert_equal "application/json", @response.content_type
|
||||
js = ActiveSupport::JSON.decode(@response.body)
|
||||
assert_not_nil js
|
||||
assert_equal "FeatureCollection", js["type"]
|
||||
assert_equal 6, js["features"].count
|
||||
assert_equal 3, js["features"].count
|
||||
end
|
||||
|
||||
def test_index_bad_params
|
||||
|
@ -759,14 +811,16 @@ class NotesControllerTest < ActionController::TestCase
|
|||
end
|
||||
|
||||
def test_search_success
|
||||
get :search, :q => "note 1", :format => "xml"
|
||||
create(:note_with_comments)
|
||||
|
||||
get :search, :q => "note comment", :format => "xml"
|
||||
assert_response :success
|
||||
assert_equal "application/xml", @response.content_type
|
||||
assert_select "osm", :count => 1 do
|
||||
assert_select "note", :count => 1
|
||||
end
|
||||
|
||||
get :search, :q => "note 1", :format => "json"
|
||||
get :search, :q => "note comment", :format => "json"
|
||||
assert_response :success
|
||||
assert_equal "application/json", @response.content_type
|
||||
js = ActiveSupport::JSON.decode(@response.body)
|
||||
|
@ -774,7 +828,7 @@ class NotesControllerTest < ActionController::TestCase
|
|||
assert_equal "FeatureCollection", js["type"]
|
||||
assert_equal 1, js["features"].count
|
||||
|
||||
get :search, :q => "note 1", :format => "rss"
|
||||
get :search, :q => "note comment", :format => "rss"
|
||||
assert_response :success
|
||||
assert_equal "application/rss+xml", @response.content_type
|
||||
assert_select "rss", :count => 1 do
|
||||
|
@ -783,7 +837,7 @@ class NotesControllerTest < ActionController::TestCase
|
|||
end
|
||||
end
|
||||
|
||||
get :search, :q => "note 1", :format => "gpx"
|
||||
get :search, :q => "note comment", :format => "gpx"
|
||||
assert_response :success
|
||||
assert_equal "application/gpx+xml", @response.content_type
|
||||
assert_select "gpx", :count => 1 do
|
||||
|
@ -792,6 +846,8 @@ class NotesControllerTest < ActionController::TestCase
|
|||
end
|
||||
|
||||
def test_search_no_match
|
||||
create(:note_with_comments)
|
||||
|
||||
get :search, :q => "no match", :format => "xml"
|
||||
assert_response :success
|
||||
assert_equal "application/xml", @response.content_type
|
||||
|
@ -836,12 +892,19 @@ class NotesControllerTest < ActionController::TestCase
|
|||
end
|
||||
|
||||
def test_feed_success
|
||||
position = (1.1 * GeoRecord::SCALE).to_i
|
||||
create(:note_with_comments, :latitude => position, :longitude => position)
|
||||
create(:note_with_comments, :latitude => position, :longitude => position)
|
||||
position = (1.5 * GeoRecord::SCALE).to_i
|
||||
create(:note_with_comments, :latitude => position, :longitude => position)
|
||||
create(:note_with_comments, :latitude => position, :longitude => position)
|
||||
|
||||
get :feed, :format => "rss"
|
||||
assert_response :success
|
||||
assert_equal "application/rss+xml", @response.content_type
|
||||
assert_select "rss", :count => 1 do
|
||||
assert_select "channel", :count => 1 do
|
||||
assert_select "item", :count => 10
|
||||
assert_select "item", :count => 4
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -850,7 +913,7 @@ class NotesControllerTest < ActionController::TestCase
|
|||
assert_equal "application/rss+xml", @response.content_type
|
||||
assert_select "rss", :count => 1 do
|
||||
assert_select "channel", :count => 1 do
|
||||
assert_select "item", :count => 5
|
||||
assert_select "item", :count => 2
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -870,13 +933,24 @@ class NotesControllerTest < ActionController::TestCase
|
|||
end
|
||||
|
||||
def test_mine_success
|
||||
create(:note) do |note|
|
||||
create(:note_comment, :note => note, :author_id => users(:normal_user).id)
|
||||
end
|
||||
create(:note) do |note|
|
||||
create(:note_comment, :note => note, :author_id => users(:second_public_user).id)
|
||||
end
|
||||
create(:note, :status => "hidden") do |note|
|
||||
create(:note_comment, :note => note, :author_id => users(:second_public_user).id)
|
||||
end
|
||||
|
||||
# Note that the table rows include a header row
|
||||
get :mine, :display_name => "test"
|
||||
assert_response :success
|
||||
assert_select "table.note_list tr", :count => 2
|
||||
|
||||
get :mine, :display_name => "pulibc_test2"
|
||||
assert_response :success
|
||||
assert_select "table.note_list tr", :count => 3
|
||||
assert_select "table.note_list tr", :count => 2
|
||||
|
||||
get :mine, :display_name => "non-existent"
|
||||
assert_response :not_found
|
||||
|
@ -889,7 +963,7 @@ class NotesControllerTest < ActionController::TestCase
|
|||
|
||||
get :mine, :display_name => "pulibc_test2"
|
||||
assert_response :success
|
||||
assert_select "table.note_list tr", :count => 4
|
||||
assert_select "table.note_list tr", :count => 3
|
||||
|
||||
get :mine, :display_name => "non-existent"
|
||||
assert_response :not_found
|
||||
|
|
|
@ -265,7 +265,9 @@ class SiteControllerTest < ActionController::TestCase
|
|||
# Test editing a specific note
|
||||
def test_edit_with_note
|
||||
user = users(:public_user)
|
||||
note = notes(:open_note)
|
||||
note = create(:note) do |n|
|
||||
n.comments.create(:author_id => user.id)
|
||||
end
|
||||
|
||||
get :edit, { :note => note.id }, { :user => user.id }
|
||||
assert_response :success
|
||||
|
|
|
@ -2,7 +2,7 @@ require "test_helper"
|
|||
|
||||
class UserControllerTest < ActionController::TestCase
|
||||
api_fixtures
|
||||
fixtures :messages, :friends
|
||||
fixtures :messages
|
||||
|
||||
##
|
||||
# test all routes which lead to this controller
|
||||
|
@ -1191,6 +1191,7 @@ class UserControllerTest < ActionController::TestCase
|
|||
# Get users to work with
|
||||
user = users(:normal_user)
|
||||
friend = users(:public_user)
|
||||
create(:friend, :user_id => user.id, :friend_user_id => friend.id)
|
||||
|
||||
# Check that the users are friends
|
||||
assert Friend.where(:user_id => user.id, :friend_user_id => friend.id).first
|
||||
|
@ -1231,6 +1232,7 @@ class UserControllerTest < ActionController::TestCase
|
|||
# Get users to work with
|
||||
user = users(:normal_user)
|
||||
friend = users(:public_user)
|
||||
create(:friend, :user_id => user.id, :friend_user_id => friend.id)
|
||||
|
||||
# Check that the users are friends
|
||||
assert Friend.where(:user_id => user.id, :friend_user_id => friend.id).first
|
||||
|
|
7
test/factories/friends.rb
Normal file
7
test/factories/friends.rb
Normal file
|
@ -0,0 +1,7 @@
|
|||
FactoryGirl.define do
|
||||
factory :friend do
|
||||
# Fixme requires User Factory
|
||||
user_id 1
|
||||
friend_user_id 2
|
||||
end
|
||||
end
|
8
test/factories/note_comments.rb
Normal file
8
test/factories/note_comments.rb
Normal file
|
@ -0,0 +1,8 @@
|
|||
FactoryGirl.define do
|
||||
factory :note_comment do
|
||||
sequence(:body) { |n| "This is note comment #{n}" }
|
||||
visible true
|
||||
event "opened"
|
||||
note
|
||||
end
|
||||
end
|
17
test/factories/notes.rb
Normal file
17
test/factories/notes.rb
Normal file
|
@ -0,0 +1,17 @@
|
|||
FactoryGirl.define do
|
||||
factory :note do
|
||||
latitude 1 * GeoRecord::SCALE
|
||||
longitude 1 * GeoRecord::SCALE
|
||||
# tile QuadTile.tile_for_point(1,1)
|
||||
|
||||
factory :note_with_comments do
|
||||
transient do
|
||||
comments_count 1
|
||||
end
|
||||
|
||||
after(:create) do |note, evaluator|
|
||||
create_list(:note_comment, evaluator.comments_count, :note => note)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
4
test/fixtures/friends.yml
vendored
4
test/fixtures/friends.yml
vendored
|
@ -1,4 +0,0 @@
|
|||
normal_user_with_second_user:
|
||||
id: 1
|
||||
user_id: 1
|
||||
friend_user_id: 2
|
142
test/fixtures/note_comments.yml
vendored
142
test/fixtures/note_comments.yml
vendored
|
@ -1,142 +0,0 @@
|
|||
t1:
|
||||
id: 1
|
||||
note_id: 1
|
||||
visible: true
|
||||
event: opened
|
||||
created_at: 2007-01-01 00:00:00
|
||||
author_ip: '192.168.1.1'
|
||||
body: 'This is the initial description of the note 1'
|
||||
|
||||
t2:
|
||||
id: 2
|
||||
note_id: 2
|
||||
visible: true
|
||||
event: opened
|
||||
created_at: 2007-01-01 00:00:00
|
||||
author_ip: '192.168.1.1'
|
||||
body: 'This is the initial description of the note 2'
|
||||
|
||||
t3:
|
||||
id: 3
|
||||
note_id: 2
|
||||
visible: true
|
||||
event: opened
|
||||
created_at: 2007-02-01 00:00:00
|
||||
author_ip: '192.168.1.1'
|
||||
body: 'This is an additional comment for note 2'
|
||||
|
||||
t4:
|
||||
id: 4
|
||||
note_id: 3
|
||||
visible: true
|
||||
event: opened
|
||||
created_at: 2007-01-01 00:00:00
|
||||
author_ip: '192.168.1.1'
|
||||
body: 'This is the initial comment for note 3'
|
||||
|
||||
t5:
|
||||
id: 5
|
||||
note_id: 4
|
||||
visible: true
|
||||
event: opened
|
||||
created_at: 2007-01-01 00:00:00
|
||||
author_ip: '192.168.1.1'
|
||||
body: 'Spam for note 4'
|
||||
|
||||
t6:
|
||||
id: 6
|
||||
note_id: 5
|
||||
visible: true
|
||||
event: opened
|
||||
created_at: 2007-01-01 00:00:00
|
||||
author_ip: '192.168.1.1'
|
||||
body: 'Valid comment for note 5'
|
||||
|
||||
t7:
|
||||
id: 7
|
||||
note_id: 5
|
||||
visible: false
|
||||
event: commented
|
||||
created_at: 2007-02-01 00:00:00
|
||||
author_ip: '192.168.1.1'
|
||||
body: 'Spam for note 5'
|
||||
|
||||
t8:
|
||||
id: 8
|
||||
note_id: 5
|
||||
visible: true
|
||||
event: commented
|
||||
created_at: 2007-02-01 00:00:00
|
||||
author_ip: '192.168.1.1'
|
||||
body: 'Another valid comment for note 5'
|
||||
|
||||
t9:
|
||||
id: 9
|
||||
note_id: 6
|
||||
visible: true
|
||||
event: opened
|
||||
created_at: 2007-01-01 00:00:00
|
||||
author_id: 1
|
||||
body: 'This is a note with from a logged-in user'
|
||||
|
||||
t10:
|
||||
id: 10
|
||||
note_id: 6
|
||||
visible: true
|
||||
event: commented
|
||||
created_at: 2007-02-01 00:00:00
|
||||
author_id: 4
|
||||
body: 'A comment from another logged-in user'
|
||||
|
||||
t11:
|
||||
id: 11
|
||||
note_id: 7
|
||||
visible: true
|
||||
event: opened
|
||||
created_at: 2007-01-01 00:00:00
|
||||
author_ip: '192.168.1.1'
|
||||
body: 'Initial note description'
|
||||
|
||||
t12:
|
||||
id: 12
|
||||
note_id: 7
|
||||
visible: true
|
||||
event: commented
|
||||
created_at: 2007-02-01 00:00:00
|
||||
author_ip: '192.168.1.1'
|
||||
body: 'A comment description'
|
||||
|
||||
t13:
|
||||
id: 13
|
||||
note_id: 7
|
||||
visible: true
|
||||
event: closed
|
||||
created_at: 2007-03-01 00:00:00
|
||||
author_id: 4
|
||||
|
||||
t14:
|
||||
id: 14
|
||||
note_id: 8
|
||||
visible: true
|
||||
event: commented
|
||||
created_at: 2007-02-01 00:00:00
|
||||
author_id: 4
|
||||
body: 'A comment description'
|
||||
|
||||
t15:
|
||||
id: 15
|
||||
note_id: 2
|
||||
visible: true
|
||||
event: opened
|
||||
created_at: 2007-01-01 00:00:00
|
||||
author_id: 10
|
||||
body: 'This is a note with from a suspended user'
|
||||
|
||||
t16:
|
||||
id: 16
|
||||
note_id: 2
|
||||
visible: true
|
||||
event: opened
|
||||
created_at: 2007-01-01 00:00:00
|
||||
author_id: 11
|
||||
body: 'This is a note with from a deleted user'
|
113
test/fixtures/notes.yml
vendored
113
test/fixtures/notes.yml
vendored
|
@ -1,113 +0,0 @@
|
|||
# Read about fixtures at http://ar.rubyonrails.org/classes/Fixtures.html
|
||||
<% SCALE = 10000000 unless defined?(SCALE) %>
|
||||
|
||||
open_note:
|
||||
id: 1
|
||||
latitude: <%= 1*SCALE %>
|
||||
longitude: <%= 1*SCALE %>
|
||||
status: open
|
||||
tile: <%= QuadTile.tile_for_point(1,1) %>
|
||||
created_at: 2007-01-01 00:00:00
|
||||
updated_at: 2007-01-01 00:00:00
|
||||
|
||||
open_note_with_comment:
|
||||
id: 2
|
||||
latitude: <%= 1.1*SCALE %>
|
||||
longitude: <%= 1.1*SCALE %>
|
||||
status: open
|
||||
tile: <%= QuadTile.tile_for_point(1.1,1.1) %>
|
||||
created_at: 2007-01-01 00:00:00
|
||||
updated_at: 2007-02-01 00:00:00
|
||||
|
||||
closed_note_with_comment:
|
||||
id: 3
|
||||
latitude: <%= 1.2*SCALE %>
|
||||
longitude: <%= 1.2*SCALE %>
|
||||
status: closed
|
||||
tile: <%= QuadTile.tile_for_point(1.2,1.2) %>
|
||||
created_at: 2007-01-01 00:00:00
|
||||
updated_at: 2007-03-01 00:00:00
|
||||
closed_at: 2007-03-01 00:00:00
|
||||
|
||||
hidden_note_with_comment:
|
||||
id: 4
|
||||
latitude: <%= 1.3*SCALE %>
|
||||
longitude: <%= 1.3*SCALE %>
|
||||
status: hidden
|
||||
tile: <%= QuadTile.tile_for_point(1.3,1.3) %>
|
||||
created_at: 2007-01-01 00:00:00
|
||||
updated_at: 2007-03-01 00:00:00
|
||||
|
||||
note_with_hidden_comment:
|
||||
id: 5
|
||||
latitude: <%= 1.4*SCALE %>
|
||||
longitude: <%= 1.4*SCALE %>
|
||||
status: open
|
||||
tile: <%= QuadTile.tile_for_point(1.4,1.4) %>
|
||||
created_at: 2007-01-01 00:00:00
|
||||
updated_at: 2007-03-01 00:00:00
|
||||
|
||||
note_with_comments_by_users:
|
||||
id: 6
|
||||
latitude: <%= 1.5*SCALE %>
|
||||
longitude: <%= 1.5*SCALE %>
|
||||
status: open
|
||||
tile: <%= QuadTile.tile_for_point(1.5,1.5) %>
|
||||
created_at: 2007-01-01 00:00:00
|
||||
updated_at: 2007-03-01 00:00:00
|
||||
|
||||
note_closed_by_user:
|
||||
id: 7
|
||||
latitude: <%= 1.6*SCALE %>
|
||||
longitude: <%= 1.6*SCALE %>
|
||||
status: closed
|
||||
tile: <%= QuadTile.tile_for_point(1.6,1.6) %>
|
||||
created_at: 2007-01-01 00:00:00
|
||||
updated_at: 2007-03-01 00:00:00
|
||||
closed_at: 2007-03-01 00:00:00
|
||||
|
||||
hidden_note_with_comment:
|
||||
id: 4
|
||||
latitude: <%= 1.3*SCALE %>
|
||||
longitude: <%= 1.3*SCALE %>
|
||||
status: hidden
|
||||
tile: <%= QuadTile.tile_for_point(1.3,1.3) %>
|
||||
created_at: 2007-01-01 00:00:00
|
||||
updated_at: 2007-03-01 00:00:00
|
||||
|
||||
note_with_hidden_comment:
|
||||
id: 5
|
||||
latitude: <%= 1.4*SCALE %>
|
||||
longitude: <%= 1.4*SCALE %>
|
||||
status: open
|
||||
tile: <%= QuadTile.tile_for_point(1.4,1.4) %>
|
||||
created_at: 2007-01-01 00:00:00
|
||||
updated_at: 2007-03-01 00:00:00
|
||||
|
||||
note_with_comments_by_users:
|
||||
id: 6
|
||||
latitude: <%= 1.5*SCALE %>
|
||||
longitude: <%= 1.5*SCALE %>
|
||||
status: open
|
||||
tile: <%= QuadTile.tile_for_point(1.5,1.5) %>
|
||||
created_at: 2007-01-01 00:00:00
|
||||
updated_at: 2007-03-01 00:00:00
|
||||
|
||||
note_closed_by_user:
|
||||
id: 7
|
||||
latitude: <%= 1.6*SCALE %>
|
||||
longitude: <%= 1.6*SCALE %>
|
||||
status: closed
|
||||
tile: <%= QuadTile.tile_for_point(1.6,1.6) %>
|
||||
created_at: 2007-01-01 00:00:00
|
||||
updated_at: 2007-03-01 00:00:00
|
||||
closed_at: 2007-03-01 00:00:00
|
||||
|
||||
hidden_note_with_comment_by_user:
|
||||
id: 8
|
||||
latitude: <%= 1.3*SCALE %>
|
||||
longitude: <%= 1.3*SCALE %>
|
||||
status: hidden
|
||||
tile: <%= QuadTile.tile_for_point(1.3,1.3) %>
|
||||
created_at: 2007-01-01 00:00:00
|
||||
updated_at: 2007-03-01 00:00:00
|
|
@ -2,9 +2,9 @@ require "test_helper"
|
|||
|
||||
class FriendTest < ActiveSupport::TestCase
|
||||
api_fixtures
|
||||
fixtures :friends
|
||||
|
||||
def test_friend_count
|
||||
create(:friend)
|
||||
assert_equal 1, Friend.count
|
||||
end
|
||||
end
|
||||
|
|
|
@ -2,20 +2,20 @@
|
|||
require "test_helper"
|
||||
|
||||
class NoteCommentTest < ActiveSupport::TestCase
|
||||
fixtures :users, :notes, :note_comments
|
||||
fixtures :users
|
||||
|
||||
def test_event_valid
|
||||
ok = %w(opened closed reopened commented hidden)
|
||||
bad = %w(expropriated fubared)
|
||||
|
||||
ok.each do |event|
|
||||
note_comment = note_comments(:t1)
|
||||
note_comment = create(:note_comment)
|
||||
note_comment.event = event
|
||||
assert note_comment.valid?, "#{event} is invalid, when it should be"
|
||||
end
|
||||
|
||||
bad.each do |event|
|
||||
note_comment = note_comments(:t1)
|
||||
note_comment = create(:note_comment)
|
||||
note_comment.event = event
|
||||
assert !note_comment.valid?, "#{event} is valid when it shouldn't be"
|
||||
end
|
||||
|
@ -28,13 +28,13 @@ class NoteCommentTest < ActiveSupport::TestCase
|
|||
"foo\ufffebar", "foo\uffffbar"]
|
||||
|
||||
ok.each do |body|
|
||||
note_comment = note_comments(:t1)
|
||||
note_comment = create(:note_comment)
|
||||
note_comment.body = body
|
||||
assert note_comment.valid?, "#{body} is invalid, when it should be"
|
||||
end
|
||||
|
||||
bad.each do |body|
|
||||
note_comment = note_comments(:t1)
|
||||
note_comment = create(:note_comment)
|
||||
note_comment.body = body
|
||||
assert !note_comment.valid?, "#{body} is valid when it shouldn't be"
|
||||
end
|
||||
|
|
|
@ -2,27 +2,27 @@
|
|||
require "test_helper"
|
||||
|
||||
class NoteTest < ActiveSupport::TestCase
|
||||
fixtures :users, :notes, :note_comments
|
||||
fixtures :users
|
||||
|
||||
def test_status_valid
|
||||
ok = %w(open closed hidden)
|
||||
bad = %w(expropriated fubared)
|
||||
|
||||
ok.each do |status|
|
||||
note = notes(:open_note)
|
||||
note = create(:note)
|
||||
note.status = status
|
||||
assert note.valid?, "#{status} is invalid, when it should be"
|
||||
end
|
||||
|
||||
bad.each do |status|
|
||||
note = notes(:open_note)
|
||||
note = create(:note)
|
||||
note.status = status
|
||||
assert !note.valid?, "#{status} is valid when it shouldn't be"
|
||||
end
|
||||
end
|
||||
|
||||
def test_close
|
||||
note = notes(:open_note)
|
||||
note = create(:note)
|
||||
assert_equal "open", note.status
|
||||
assert_nil note.closed_at
|
||||
note.close
|
||||
|
@ -31,7 +31,7 @@ class NoteTest < ActiveSupport::TestCase
|
|||
end
|
||||
|
||||
def test_reopen
|
||||
note = notes(:closed_note_with_comment)
|
||||
note = create(:note, :status => "closed", :closed_at => Time.now)
|
||||
assert_equal "closed", note.status
|
||||
assert_not_nil note.closed_at
|
||||
note.reopen
|
||||
|
@ -40,23 +40,29 @@ class NoteTest < ActiveSupport::TestCase
|
|||
end
|
||||
|
||||
def test_visible?
|
||||
assert_equal true, notes(:open_note).visible?
|
||||
assert_equal true, notes(:note_with_hidden_comment).visible?
|
||||
assert_equal false, notes(:hidden_note_with_comment).visible?
|
||||
assert_equal true, create(:note, :status => "open").visible?
|
||||
assert_equal true, create(:note, :status => "closed").visible?
|
||||
assert_equal false, create(:note, :status => "hidden").visible?
|
||||
end
|
||||
|
||||
def test_closed?
|
||||
assert_equal true, notes(:closed_note_with_comment).closed?
|
||||
assert_equal false, notes(:open_note).closed?
|
||||
assert_equal true, create(:note, :status => "closed", :closed_at => Time.now).closed?
|
||||
assert_equal false, create(:note, :status => "open", :closed_at => nil).closed?
|
||||
end
|
||||
|
||||
def test_author
|
||||
assert_nil notes(:open_note).author
|
||||
assert_equal users(:normal_user), notes(:note_with_comments_by_users).author
|
||||
comment = create(:note_comment)
|
||||
assert_nil comment.note.author
|
||||
|
||||
comment = create(:note_comment, :author_id => users(:normal_user).id)
|
||||
assert_equal users(:normal_user), comment.note.author
|
||||
end
|
||||
|
||||
def test_author_ip
|
||||
assert_equal IPAddr.new("192.168.1.1"), notes(:open_note).author_ip
|
||||
assert_nil notes(:note_with_comments_by_users).author_ip
|
||||
comment = create(:note_comment)
|
||||
assert_nil comment.note.author_ip
|
||||
|
||||
comment = create(:note_comment, :author_ip => IPAddr.new("192.168.1.1"))
|
||||
assert_equal IPAddr.new("192.168.1.1"), comment.note.author_ip
|
||||
end
|
||||
end
|
||||
|
|
|
@ -5,7 +5,7 @@ class UserTest < ActiveSupport::TestCase
|
|||
include Rails::Dom::Testing::Assertions::SelectorAssertions
|
||||
|
||||
api_fixtures
|
||||
fixtures :friends, :languages, :user_roles
|
||||
fixtures :languages, :user_roles
|
||||
|
||||
def test_invalid_with_empty_attributes
|
||||
user = User.new
|
||||
|
@ -106,6 +106,7 @@ class UserTest < ActiveSupport::TestCase
|
|||
end
|
||||
|
||||
def test_friend_with
|
||||
create(:friend, :user_id => users(:normal_user).id, :friend_user_id => users(:public_user).id)
|
||||
assert users(:normal_user).is_friends_with?(users(:public_user))
|
||||
assert !users(:normal_user).is_friends_with?(users(:inactive_user))
|
||||
assert !users(:public_user).is_friends_with?(users(:normal_user))
|
||||
|
@ -129,14 +130,11 @@ class UserTest < ActiveSupport::TestCase
|
|||
|
||||
def test_friends_with
|
||||
# normal user is a friend of second user
|
||||
# it should be a one way friend accossitation
|
||||
assert_equal 1, Friend.count
|
||||
# it should be a one way friend associatation
|
||||
norm = users(:normal_user)
|
||||
sec = users(:public_user)
|
||||
# friend = Friend.new
|
||||
# friend.befriender = norm
|
||||
# friend.befriendee = sec
|
||||
# friend.save
|
||||
create(:friend, :user_id => norm.id, :friend_user_id => sec.id)
|
||||
assert_equal 1, Friend.count
|
||||
assert_equal [sec], norm.friend_users
|
||||
assert_equal 1, norm.friend_users.size
|
||||
assert_equal 1, Friend.count
|
||||
|
|
|
@ -60,8 +60,6 @@ module ActiveSupport
|
|||
fixtures :client_applications
|
||||
|
||||
fixtures :redactions
|
||||
|
||||
fixtures :notes, :note_comments
|
||||
end
|
||||
|
||||
##
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue