Site cleanup

I set out to do a quick and dirty typography overhaul to make things
more consistent and a bit cleaner, but I kept running into things I
didn't like, so this lead me down something of a rabbit hole of design
tweaks to the OSM site.

Goals here are to have better content hierarchy, better vertical
rhythm, more consistent UI, cleaner markup with less tables, all while
keeping the basics pretty much intact. There are a lot of things I
didn't touch even though they need to be updated (lots of tables where
stuff shouldn't be tables, mostly).

Basic overview of changes:

I added a new persistent header that helps segment pages. It's now
a lot easier to know what you're looking at. The header has a page
title, a description, plus a submenu of actions.

There is now a pattern of 20px/10px margins and padding for more
rhythm and breathing room throughout the site.

I know there are other problems here or things I've missed - would
love another set of eyes to look over this! I am still getting comfortable
working on the site - it's my first time ever digging into a ruby or rails
so I'm not familiar with the templating language yet.
This commit is contained in:
Saman Bemel-Benrud 2013-01-03 11:20:32 +00:00 committed by Tom Hughes
parent 91139ae014
commit a36f3558dd
124 changed files with 3008 additions and 1726 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 652 B

BIN
app/assets/images/RSS.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 296 B

84
app/assets/images/RSS.svg Normal file
View file

@ -0,0 +1,84 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
id="svg7082"
version="1.1"
inkscape:version="0.48.2 r9819"
width="16"
height="16"
sodipodi:docname="RSS.svg"
inkscape:export-filename="/Users/saman/work_repos/openstreetmap-website/app/assets/images/RSS.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90">
<metadata
id="metadata7088">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs7086" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1182"
inkscape:window-height="873"
id="namedview7084"
showgrid="false"
inkscape:zoom="16"
inkscape:cx="7.6632237"
inkscape:cy="8.8893528"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="0"
inkscape:current-layer="svg7082"
inkscape:snap-nodes="true"
inkscape:object-paths="true">
<inkscape:grid
type="xygrid"
id="grid7111"
empspacing="5"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true"
spacingx="0.5px"
spacingy="0.5px" />
</sodipodi:namedview>
<g
id="g8341"
transform="translate(31,0)">
<path
style="color:#000000;fill:#f69e42;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
d="M 2 0 C 0.892 0 0 0.892 0 2 L 0 14 C 0 15.108 0.892 16 2 16 L 14 16 C 15.108 16 16 15.108 16 14 L 16 2 C 16 0.892 15.108 0 14 0 L 2 0 z M 4 3 L 4.5 3 C 9.5 3 13 6.5 13 11.5 L 12.96875 12 L 11 12 L 11 11.5 C 11 8 8 5 4.5 5 L 4 5 L 4 3.5 L 4 3 z M 4 6.5 L 4.5 6.5 C 7 6.5 9.5 9 9.5 11.5 L 9.5 12 L 7.5 12 L 7.5 11.5 C 7.5 10 6 8.5 4.5 8.5 L 4 8.5 L 4 6.5 z M 4.5 10 C 5.328428 10 6 10.671573 6 11.5 C 6 12.328428 5.328428 13 4.5 13 C 3.671572 13 3 12.328428 3 11.5 C 3 10.671573 3.671572 10 4.5 10 z "
transform="translate(-31,0)"
id="rect7131" />
</g>
<path
style="color:#000000;fill:#f69e42;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
d="m -18,-60 c -1.108,0 -2,0.892 -2,2 l 0,12 c 0,1.108 0.892,2 2,2 l 12,0 c 1.108,0 2,-0.892 2,-2 l 0,-12 c 0,-1.108 -0.892,-2 -2,-2 l -12,0 z m 3.75,2.1875 c 4.10919,0.731197 7.331303,3.953309 8.0625,8.0625 l -1.90625,0.4375 c -0.554215,-3.370687 -3.223063,-6.039535 -6.59375,-6.59375 l 0.4375,-1.90625 z m -0.875,3.875 c 2.621108,0.378627 4.683873,2.441391 5.0625,5.0625 l -2,0.4375 c -0.203763,-1.856557 -1.643443,-3.296237 -3.5,-3.5 l 0.4375,-2 z M -15.5,-50 c 0.828427,0 1.5,0.671573 1.5,1.5 0,0.828427 -0.671573,1.5 -1.5,1.5 -0.828427,0 -1.5,-0.671573 -1.5,-1.5 0,-0.828427 0.671573,-1.5 1.5,-1.5 z"
id="rect7131-9"
inkscape:connector-curvature="0" />
<g
id="g8281"
transform="translate(0.5,-0.5)" />
</svg>

After

Width:  |  Height:  |  Size: 3.6 KiB

View file

@ -0,0 +1,151 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="744.09448819"
height="1052.3622047"
id="svg5480"
version="1.1"
inkscape:version="0.48.2 r9819"
sodipodi:docname="color-palette.svg">
<defs
id="defs5482" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="2"
inkscape:cx="157.80341"
inkscape:cy="934.71289"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="980"
inkscape:window-height="661"
inkscape:window-x="806"
inkscape:window-y="270"
inkscape:window-maximized="0"
inkscape:snap-nodes="false"
inkscape:snap-bbox="true">
<inkscape:grid
type="xygrid"
id="grid5488" />
</sodipodi:namedview>
<metadata
id="metadata5485">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<rect
style="color:#000000;fill:#222222;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:6;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect5490"
width="90"
height="90"
x="20"
y="42.362183"
rx="0"
ry="0" />
<rect
style="color:#000000;fill:#1313ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect3924"
width="40"
height="40"
x="120"
y="42.362183"
rx="0"
ry="0" />
<rect
ry="0"
rx="0"
y="42.362183"
x="170"
height="40"
width="40"
id="rect5510"
style="color:#000000;fill:#9ed485;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
<rect
style="color:#000000;fill:#cbeea7;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect6020"
width="40"
height="40"
x="220"
y="42.362183"
rx="0"
ry="0" />
<rect
style="color:#000000;fill:#faba75;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect6060"
width="40"
height="40"
x="220"
y="92.362183"
rx="0"
ry="0" />
<rect
ry="0"
rx="0"
y="142.36218"
x="170"
height="40"
width="40"
id="rect6062"
style="color:#000000;fill:#ff7070;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
<rect
ry="0"
rx="0"
y="142.86218"
x="20.500002"
height="89"
width="89"
id="rect6068"
style="color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#cccccc;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
<rect
ry="0"
rx="0"
y="92.362183"
x="170"
height="40"
width="40"
id="rect7710"
style="color:#000000;fill:#f69e42;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
<rect
ry="0"
rx="0"
y="92.362183"
x="120"
height="40"
width="40"
id="rect6617"
style="color:#000000;fill:#d7d7ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
<rect
style="color:#000000;fill:#f4f4ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect7127"
width="40"
height="40"
x="120"
y="142.36218"
rx="0"
ry="0" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 991 B

After

Width:  |  Height:  |  Size: 127 B

Before After
Before After

73
app/assets/images/new.svg Normal file
View file

@ -0,0 +1,73 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
id="svg3864"
version="1.1"
inkscape:version="0.48.2 r9819"
width="16"
height="16"
sodipodi:docname="new.svg"
inkscape:export-filename="/Users/saman/work_repos/openstreetmap-website/app/assets/images/new.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90">
<metadata
id="metadata3870">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs3868" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1405"
inkscape:window-height="1009"
id="namedview3866"
showgrid="false"
inkscape:zoom="1"
inkscape:cx="11.60995"
inkscape:cy="5.4274399"
inkscape:window-x="190"
inkscape:window-y="0"
inkscape:window-maximized="0"
inkscape:current-layer="svg3864"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0">
<inkscape:grid
type="xygrid"
id="grid3920"
empspacing="5"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true" />
</sodipodi:namedview>
<path
style="color:#000000;fill:#1313ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
d="M 2,0 C 0.892,0 0,0.892 0,2 l 0,12 c 0,1.108 0.892,2 2,2 l 12,0 c 1.108,0 2,-0.892 2,-2 L 16,2 C 16,0.892 15.108,0 14,0 z M 9,4 9,7 12,7 12,9 9,9 9,12 7,12 7,9 4,9 4,7 7,7 7,4 z"
id="rect3924"
inkscape:connector-curvature="0"
sodipodi:nodetypes="sssssssssccccccccccccc" />
</svg>

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 227 B

View file

@ -0,0 +1,73 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
id="svg3864"
version="1.1"
inkscape:version="0.48.2 r9819"
width="16"
height="16"
sodipodi:docname="notice.svg"
inkscape:export-filename="/Users/saman/work_repos/openstreetmap-website/app/assets/images/notice.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90">
<metadata
id="metadata3870">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs3868" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1405"
inkscape:window-height="1009"
id="namedview3866"
showgrid="false"
inkscape:zoom="21.536424"
inkscape:cx="15.375"
inkscape:cy="1.125"
inkscape:window-x="326"
inkscape:window-y="43"
inkscape:window-maximized="0"
inkscape:current-layer="svg3864"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:snap-bbox="true"
inkscape:snap-nodes="true">
<inkscape:grid
type="xygrid"
id="grid3920"
empspacing="5"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true" />
</sodipodi:namedview>
<path
style="color:#000000;fill:#333333;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:6;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
d="M 2 0 C 0.892 0 0 0.892 0 2 L 0 14 C 0 15.108 0.892 16 2 16 L 14 16 C 15.108 16 16 15.108 16 14 L 16 2 C 16 0.892 15.108 0 14 0 L 2 0 z M 7 3 L 9 3 L 9 8 L 7 8 L 7 3 z M 7 10 L 9 10 L 9 12 L 7 12 L 7 10 z "
id="rect7131" />
</svg>

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 910 B

After

Width:  |  Height:  |  Size: 339 B

Before After
Before After

View file

@ -0,0 +1,60 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
id="svg5873"
version="1.1"
inkscape:version="0.48.2 r9819"
width="20"
height="20"
sodipodi:docname="administrator.svg"
inkscape:export-filename="/Users/saman/work_repos/openstreetmap-website/app/assets/images/roles/administrator.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90">
<metadata
id="metadata5879">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs5877" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="640"
inkscape:window-height="480"
id="namedview5875"
showgrid="false"
inkscape:zoom="5.6568542"
inkscape:cx="37.573963"
inkscape:cy="0.44974747"
inkscape:window-x="733"
inkscape:window-y="118"
inkscape:window-maximized="0"
inkscape:current-layer="svg5873" />
<path
inkscape:connector-curvature="0"
style="color:#000000;fill:#f69e42;fill-opacity:1;fill-rule:nonzero;stroke:#f69e42;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
d="M 10,2 8.125,8 2,8 6.96875,11.71875 5,18 10,14 15,18 13.03125,11.71875 18,8 11.875,8 10,2 z"
id="path4709" />
</svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 824 B

After

Width:  |  Height:  |  Size: 449 B

Before After
Before After

View file

@ -0,0 +1,89 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
id="svg5539"
version="1.1"
inkscape:version="0.48.2 r9819"
width="20"
height="20"
sodipodi:docname="blank_administrator.svg"
inkscape:export-filename="/Users/saman/work_repos/openstreetmap-website/app/assets/images/roles/blank_administrator.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90">
<metadata
id="metadata5545">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs5543" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1031"
inkscape:window-height="802"
id="namedview5541"
showgrid="false"
inkscape:zoom="8"
inkscape:cx="10.953608"
inkscape:cy="15.654921"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="0"
inkscape:current-layer="svg5539">
<inkscape:grid
type="xygrid"
id="grid5688" />
</sodipodi:namedview>
<image
width="20"
height="20"
xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABHNCSVQICAgIfAhkiAAAArVJREFU
OI2tlU1IVFEUx3/3vZm5fszoNGX5kR8ZWaEYubAE+1LJoCCZRdSiHMqoyI0QLgxauigIgqlNtKhF
WW6SaqNlrQosKHLScWxS+rBEsJJsSn3vtvAp0+hkUmd3eef8OPd//uc+oZTif4a2mGRhxT8Bw2Hf
kfCbw2eEEDbABSQKIeLW2RYCOuTKPZrmlEAKkAWMAZ+An4vuMPCqzC4deYUJcm1RVZWnAMgHVgAy
3tX/CJQyryY1tTLf7a7MrvWVHgYygCWAjFczByiiQso8r5SrdF1PISdn3SZgKZBsAbXYfIjS0BJd
AjogsrKksNtyN8x8z8wszPZ47O7R0UkX08MZF0IYUb2YQogJ0Rfy1gnhaHY6t0YMw9RNQ4kZa6an
e5dLmWkDMIyvhPqvfNE1zbA79ClNoAARiTyVfaGh1pq9D84BH1FK0RvcV/H2XXO3YXxXfxumOaEC
gebhxsaSy8BupgeWgFIKpRTXbxR5enqP3/v2LRBZCDY+/maqveNQuKAg6TSwC1gFJAJiFmitoN7V
daDp/YerH+LBBgZbxvz+ikeaJmqBEmtQtllGNNCCit7gsbZ4wPYOXxioA4qBpNj6ObbpDmwWzuTV
a+L5LCe7eGlamgOmN+bHgj40zbRKt7si3zoRCvm/BPvOjyg1CUBunjeloWHjNqt27rbEthwMnmxR
ylA/J4bNx09ODFRXZ9Rv375s5/MX9c8ikcEppZR60Hn0JbAesM+RLEY/+8Dg2Z6Rkfax223eTpdL
3wFkAolOl76k8+H+K0NDrZ/7X18YTk93lM6n4W+HjvtVO4J9vk9+/5Ymq4NUQJsZFuC8eKn8YE9v
3dDNWztPAU5AzAsExJ27VesbG3PXAh5AzucAIKHWl5F79Vp5GeCIzREq6hdgLbg2La0y40066oFV
KhoA/AI4idurnYfhgQAAAABJRU5ErkJggg==
"
id="image5547"
x="-70"
y="0" />
<path
style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#f69e42;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
d="M 10 2 L 8.125 8 L 2 8 L 6.96875 11.71875 L 5 18 L 10 14 L 15 18 L 13.03125 11.71875 L 18 8 L 11.875 8 L 10 2 z "
id="path4709" />
<path
style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
d="M 10 2 L 8.125 8 L 2 8 L 6.96875 11.71875 L 5 18 L 10 14 L 15 18 L 13.03125 11.71875 L 18 8 L 11.875 8 L 10 2 z "
id="path5684" />
</svg>

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 839 B

After

Width:  |  Height:  |  Size: 403 B

Before After
Before After

View file

@ -0,0 +1,65 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
id="svg6042"
version="1.1"
inkscape:version="0.48.2 r9819"
width="20"
height="20"
sodipodi:docname="blank_moderator.svg"
inkscape:export-filename="/Users/saman/work_repos/openstreetmap-website/app/assets/images/roles/blank_moderator.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90">
<metadata
id="metadata6048">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs6046" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1264"
inkscape:window-height="776"
id="namedview6044"
showgrid="false"
inkscape:zoom="1"
inkscape:cx="10"
inkscape:cy="10"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="0"
inkscape:current-layer="svg6042" />
<path
inkscape:connector-curvature="0"
style="color:#000000;fill:#1313ff;fill-opacity:1;fill-rule:nonzero;stroke:#1313ff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
d="M 10,2 8.125,8 2,8 6.96875,11.71875 5,18 10,14 15,18 13.03125,11.71875 18,8 11.875,8 10,2 z"
id="path4709" />
<path
inkscape:connector-curvature="0"
style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
d="M 10,2 8.125,8 2,8 6.96875,11.71875 5,18 10,14 15,18 13.03125,11.71875 18,8 11.875,8 10,2 z"
id="path5684" />
</svg>

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 958 B

After

Width:  |  Height:  |  Size: 300 B

Before After
Before After

View file

@ -0,0 +1,71 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
id="svg4678"
version="1.1"
inkscape:version="0.48.2 r9819"
width="20"
height="20"
sodipodi:docname="moderator.svg"
inkscape:export-filename="/Users/saman/work_repos/openstreetmap-website/app/assets/images/roles/moderator.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90">
<metadata
id="metadata4684">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs4682" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1574"
inkscape:window-height="831"
id="namedview4680"
showgrid="false"
inkscape:zoom="1"
inkscape:cx="9.1260993"
inkscape:cy="11.531765"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="0"
inkscape:current-layer="svg4678">
<inkscape:grid
type="xygrid"
id="grid4707" />
</sodipodi:namedview>
<path
style="color:#000000;fill:#0606ff;fill-opacity:1;fill-rule:nonzero;stroke:#0606ff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
d="m 10,2 5,16 -5,-4 -5,4 z"
id="path4709"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccc" />
<path
style="color:#000000;fill:#0606ff;fill-opacity:1;fill-rule:nonzero;stroke:#0606ff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
d="m 2,8 16,0 -8,6 z"
id="path5479"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccc" />
</svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

View file

@ -0,0 +1,182 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
id="svg54671"
version="1.1"
inkscape:version="0.48.2 r9819"
width="99.999969"
height="155"
sodipodi:docname="new-user-icon.svg">
<metadata
id="metadata54677">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs54675">
<clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath55579">
<rect
y="701"
x="157"
height="23.000002"
width="49.999985"
id="rect55581"
style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
</clipPath>
</defs>
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1280"
inkscape:window-height="756"
id="namedview54673"
showgrid="true"
inkscape:zoom="4.3320463"
inkscape:cx="28.49301"
inkscape:cy="111.46394"
inkscape:window-x="11"
inkscape:window-y="0"
inkscape:window-maximized="0"
inkscape:current-layer="svg54671"
inkscape:object-nodes="true"
inkscape:object-paths="true"
showguides="false"
inkscape:guide-bbox="true"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0">
<inkscape:grid
type="xygrid"
id="grid54700"
empspacing="5"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true" />
<sodipodi:guide
orientation="1,0"
position="1000,117.39694"
id="guide54708" />
<sodipodi:guide
orientation="1,0"
position="830,101"
id="guide55315" />
<sodipodi:guide
orientation="1,0"
position="815,99.000004"
id="guide55317" />
<sodipodi:guide
orientation="1,0"
position="845,99.000004"
id="guide55319" />
<sodipodi:guide
orientation="0,1"
position="832,88.000004"
id="guide55321" />
<sodipodi:guide
orientation="1,0"
position="805,67.000004"
id="guide55323" />
<sodipodi:guide
orientation="1,0"
position="855,73.000004"
id="guide55325" />
<sodipodi:guide
orientation="1,0"
position="990,95.000004"
id="guide55476" />
<sodipodi:guide
orientation="1,0"
position="1020,73.000004"
id="guide55478" />
<sodipodi:guide
orientation="1,0"
position="970,74.000004"
id="guide55480" />
<sodipodi:guide
orientation="1,0"
position="1030,76.000004"
id="guide55482" />
<sodipodi:guide
orientation="0,1"
position="978,45.000004"
id="guide55484" />
<sodipodi:guide
orientation="1,0"
position="960,64.000004"
id="guide55486" />
<sodipodi:guide
orientation="1,0"
position="1040,63.000004"
id="guide55488" />
<sodipodi:guide
orientation="1,0"
position="980,81.000004"
id="guide55490" />
<sodipodi:guide
orientation="1,0"
position="1010,92.518344"
id="guide55492" />
</sodipodi:namedview>
<g
id="g55329"
transform="translate(-785,-42)">
<rect
y="42"
x="785"
height="100.00001"
width="99.999969"
id="rect54702"
style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
<path
sodipodi:nodetypes="sssscssccsscssss"
inkscape:connector-curvature="0"
id="path54704"
d="m 834.99998,53.000004 c -8,0 -12,5 -14,9 -2,4 -2,13 -1,19 0.98639,5.918364 3.9723,8.164584 5,12 0,0 0,3 0,4 l -14,2.999996 c -9.47814,2.03103 -13.23303,8.02944 -14,18 l -1,13 78,0 -1,-13 c -0.76697,-9.97056 -4.40411,-16.62916 -14,-18 L 845,97 l -2e-5,-3.999996 c -2e-5,-4.000002 4.01361,-6.081636 5,-12 1,-6 1,-15 -1,-19 -2.0728,-4.145608 -6,-9 -14,-9 z"
style="color:#000000;fill:#dadaff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
</g>
<g
id="g3048"
transform="translate(-157,-258)">
<g
transform="matrix(0.5,0,0,0.5,-236.5,342)"
id="g55329-6">
<rect
style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect54702-3"
width="99.999969"
height="100.00001"
x="787"
y="42" />
</g>
<path
style="color:#000000;fill:#dadaff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
d="m 181.99999,368.5 c -4,0 -6.5,2.5 -7.5,4.5 -1,2 -1,7 -0.5,10 0.4932,2.95918 2,3.43845 2,5.5 0,0.5 0,1 0,1.5 0,0.4714 -1,1 -1,1 l -5,1.5 c -4.64225,1.39267 -6.58477,4.01726 -7,9 l -0.5,6 39,0 -0.5,-6 c -0.41523,-4.98274 -2.35775,-7.60733 -7,-9 l -5,-1.5 c 0,0 -1,-0.5286 -1,-1 0,-0.5 0,-1 0,-1.5 0,-2 1.5068,-2.54082 2,-5.5 0.5,-3 0.5,-8 -0.5,-10 -1.0364,-2.07281 -3.5,-4.5 -7.5,-4.5 z"
id="path54704-4"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ssssscssccsscsssss" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 6.1 KiB

View file

@ -27,12 +27,12 @@ $(document).ready(function () {
function highlightChangeset(id) {
rects[id].setStyle({fillOpacity: 0.5});
$("#tr-changeset-" + id).addClass("selected");
$("#changeset_" + id).addClass("selected");
}
function unHighlightChangeset(id) {
rects[id].setStyle({fillOpacity: 0});
$("#tr-changeset-" + id).removeClass("selected");
$("#changeset_" + id).removeClass("selected");
}
group.on({

View file

@ -1,19 +1,15 @@
<div style="text-align: center; margin-bottom: 20px;">
<a href="#" class="browse_show_list"><%- I18n.t('browse.start_rjs.object_list.back') %></a>
</div>
<table width="100%" class="browse_heading">
<tr>
<td><%- name %></td>
<td align="right">
<a href="<%- url %>"><%- I18n.t('browse.start_rjs.object_list.details') %></a>
</td>
</tr>
</table>
<div class="browse_details">
<ul>
<h4><%- name %></h4>
<a class='more-details' href="<%- url %>"><%- I18n.t('browse.start_rjs.object_list.details') %></a>
<ul class="inner12">
<% for (var key in attributes) { %>
<li><b><%- key %></b>: <%- attributes[key] %></li>
<% } %>
<li> <a href="<%- url %>/history" class="browse_show_history"><%- I18n.t('browse.start_rjs.show_history') %></a></li>
</ul>
<a href="<%- url %>/history" class="browse_show_history"><%- I18n.t('browse.start_rjs.show_history') %></a>
</div>
<a href="#" class="browse_show_list button"><%- I18n.t('browse.start_rjs.object_list.back') %></a>

View file

@ -1,13 +1,8 @@
<table width="100%" class="browse_heading">
<tr>
<td><%- I18n.t("browse.start_rjs.history_for_feature", {feature: name}) %></td>
<td align="right">
<a href="<%- url %>/history"><%- I18n.t('browse.start_rjs.details') %></a>
</td>
</tr>
</table>
<div class="browse_details">
<ul>
<h4><%- I18n.t("browse.start_rjs.history_for_feature", {feature: name}) %></h4>
<a class='more-details' href="<%- url %>/history"><%- I18n.t('browse.start_rjs.details') %></a>
<ul class="inner12">
<% for (var i = 0; i < history.length; i++) { %>
<li><%- I18n.t("browse.start_rjs.edited_by_user_at_timestamp", history[i]) %></li>
<% } %>

View file

@ -1,9 +1,13 @@
<div>
<p class="browse_heading"><%- I18n.t('browse.start_rjs.object_list.heading') %></p>
<ul>
<% for (var i = 0; i < features.length; i++) { %>
<li><%- features[i].typeName %> <a href="<%- features[i].url %>" data-feature-id="<%- features[i].id %>"><%- features[i].name %></a></li>
<% } %>
</ul>
<a href="<%- url %>"><%- I18n.t('browse.start_rjs.object_list.api') %></a>
<h4 class="browse_heading"><%- I18n.t('browse.start_rjs.object_list.heading') %></h4>
<div class='inner12'>
<ul>
<% for (var i = 0; i < features.length; i++) { %>
<li><%- features[i].typeName %> <a href="<%- features[i].url %>" data-feature-id="<%- features[i].id %>"><%- features[i].name %></a></li>
<% } %>
</ul>
</div>
<div class='inner12'><a href="<%- url %>" class='button'><%- I18n.t('browse.start_rjs.object_list.api') %></a></div>
</div>

File diff suppressed because it is too large Load diff

View file

@ -1,11 +1,5 @@
/* Styles specific to large screens */
/* Rules for greeting bar in the top right corner */
#small-greeting {
display: none;
}
/* Rules for OpenLayers maps */
.leaflet-control-zoom {

View file

@ -1,4 +1,4 @@
/*
*= require rtl/common
*= require rtl/small
*/
*/

View file

@ -7,9 +7,33 @@ body {
}
h1 {
font-size: 16px;
}
h2, h3, h4 {
font-size: 14px;
}
.wrapper {
margin: 0;
}
.site-edit #content,
.site-index #content,
.site-export #content {
left: 0;
}
.site-edit #top-bar,
.site-index #top-bar,
.site-export #top-bar {
position: relative;
}
.column-1 {
width: 100%;
}
/* Rules for the whole left sidebar, including the logo */
#left {
@ -21,15 +45,15 @@ h1 {
#top-bar {
left: 0;
margin: 0px;
height: 39px;
padding: 0;
height: 24px;
position: static;
}
#tabnav {
height: 14px;
height: 19px;
margin: 0px;
padding-top: 5px;
margin-top: 20px;
margin-top: 26px;
font-size: 10px;
line-height: 10px;
}
@ -37,10 +61,12 @@ h1 {
#tabnav a, #tabnav a:link, #tabnav a:visited {
font-size: 10px;
line-height: 10px;
padding: 2px 5px;
padding: 5px;
margin-right: 1px;
}
.menuicon { line-height: 10px;}
/* Rules for the site name - shown when left sidebar is hidden */
#small-title {
@ -52,7 +78,7 @@ h1 {
left: 5px;
top: 5px;
padding: 2px;
width: 110px; /* TODO: find better fix for overlap */
width: 110px;
background-color: #fff;
z-index: 100;
}
@ -63,38 +89,43 @@ h1 {
#small-title h1 {
position: absolute;
left: 18px;
font-size: 12px;
line-height: 18px;
margin: 0;
left: 22px;
}
/* Rules for greeting bar in the top right corner */
#greeting {
position: absolute;
right: 5px;
top: 5px;
height: 14px;
font-size: 12px;
line-height: 12px;
white-space: nowrap;
right: 0;
top: 0;
background: none;
}
#full-greeting {
display: none;
#browse_map ul.secondary-actions {
float: right;
}
#small-greeting {
display: inline;
}
/* Rules for OpenLayers maps */
#map {
border: 0;
}
.content_map {
width: 100%;
border: none;
float: none;
height: 200px;
max-height: none;
min-height: auto;
}
.content_map #small_map {
height: 300px;
border: 1px solid #ccc;
}
.leaflet-control-pan, .leaflet-control-zoomslider {
display: none;
}
@ -113,12 +144,19 @@ h1 {
border-right: 0px;
}
.site-export #content,
.site-edit #content,
.site-index #content {
margin-top: 21px;
}
/* Rules for search sidebar when shown */
#sidebar {
border: 0px;
border-right: 1px solid #ccccdd;
margin: 0px;
width: 50%;
border-right: 1px solid #ccccdd;
}
.sidebar_title, #sidebar_content {
@ -173,19 +211,23 @@ p.search_results_entry {
}
#login_openid_buttons td {
padding-left: 2px;
padding-right: 2px;
padding-top: 2px;
padding-bottom: 2px;
padding: 2px;
}
/* Rules for the profile page */
/* Rules for the user view */
.user_map {
width: 100% !important;
height: 300px !important;
}
#userinformation .deemphasize {
position: relative;
right: auto; left: auto;
margin-top: 10px;
top: auto;
}
/* Rules for the user settings page */
#user_new_email {
@ -202,34 +244,21 @@ p.search_results_entry {
/* Rules for the browse pages */
#browse_navigation {
width: 100% !important;
margin-top: 0 !important;
.browse-section.common div{
clear: both;
}
#small_map, #browse_map {
width: 100% !important;
}
#changeset_list tr {
display: block;
clear: left;
#changeset_list_map {
position: relative;
width: 100%;
}
#changeset_list th {
display: none;
}
#changeset_list td {
display: block;
float: left;
padding-right: 10px;
}
#changeset_list td.comment, #changeset_list td.area {
width: 96%;
clear: left;
right: 0;
left: 0;
top: 0px;
margin-bottom: 20px;
float: none;
height: 300px !important;
max-height: auto;
min-height: auto;
}
/* Rules for the diary entries pages */

View file

@ -33,24 +33,24 @@ class ChangesetController < ApplicationController
end
##
# Return XML giving the basic info about the changeset. Does not
# Return XML giving the basic info about the changeset. Does not
# return anything about the nodes, ways and relations in the changeset.
def read
changeset = Changeset.find(params[:id])
render :text => changeset.to_xml.to_s, :content_type => "text/xml"
end
##
# marks a changeset as closed. this may be called multiple times
# on the same changeset, so is idempotent.
def close
def close
assert_method :put
changeset = Changeset.find(params[:id])
changeset = Changeset.find(params[:id])
check_changeset_consistency(changeset, @user)
# to close the changeset, we'll just set its closed_at time to
# now. this might not be enough if there are concurrency issues,
# now. this might not be enough if there are concurrency issues,
# but we'll have to wait and see.
changeset.set_closed_time_now
@ -70,11 +70,11 @@ class ChangesetController < ApplicationController
cs = Changeset.find(params[:id])
check_changeset_consistency(cs, @user)
# keep an array of lons and lats
lon = Array.new
lat = Array.new
# the request is in pseudo-osm format... this is kind-of an
# abuse, maybe should change to some other format?
doc = XML::Parser.string(request.raw_post).parse
@ -82,17 +82,17 @@ class ChangesetController < ApplicationController
lon << n['lon'].to_f * GeoRecord::SCALE
lat << n['lat'].to_f * GeoRecord::SCALE
end
# add the existing bounding box to the lon-lat array
lon << cs.min_lon unless cs.min_lon.nil?
lat << cs.min_lat unless cs.min_lat.nil?
lon << cs.max_lon unless cs.max_lon.nil?
lat << cs.max_lat unless cs.max_lat.nil?
# collapse the arrays to minimum and maximum
cs.min_lon, cs.min_lat, cs.max_lon, cs.max_lat =
cs.min_lon, cs.min_lat, cs.max_lon, cs.max_lat =
lon.min, lat.min, lon.max, lat.max
# save the larger bounding box and return the changeset, which
# will include the bigger bounding box.
cs.save!
@ -109,7 +109,7 @@ class ChangesetController < ApplicationController
# Furthermore, each element in the diff can only reference the current
# changeset.
#
# Returns: a diffResult document, as described in
# Returns: a diffResult document, as described in
# http://wiki.openstreetmap.org/wiki/OSM_Protocol_Version_0.6
def upload
# only allow POST requests, as the upload method is most definitely
@ -120,7 +120,7 @@ class ChangesetController < ApplicationController
changeset = Changeset.find(params[:id])
check_changeset_consistency(changeset, @user)
diff_reader = DiffReader.new(request.raw_post, changeset)
Changeset.transaction do
result = diff_reader.commit
@ -132,45 +132,45 @@ class ChangesetController < ApplicationController
# download the changeset as an osmChange document.
#
# to make it easier to revert diffs it would be better if the osmChange
# format were reversible, i.e: contained both old and new versions of
# format were reversible, i.e: contained both old and new versions of
# modified elements. but it doesn't at the moment...
#
# this method cannot order the database changes fully (i.e: timestamp and
# version number may be too coarse) so the resulting diff may not apply
# to a different database. however since changesets are not atomic this
# to a different database. however since changesets are not atomic this
# behaviour cannot be guaranteed anyway and is the result of a design
# choice.
def download
changeset = Changeset.find(params[:id])
# get all the elements in the changeset which haven't been redacted
# and stick them in a big array.
elements = [changeset.old_nodes.unredacted,
changeset.old_ways.unredacted,
elements = [changeset.old_nodes.unredacted,
changeset.old_ways.unredacted,
changeset.old_relations.unredacted].flatten
# sort the elements by timestamp and version number, as this is the
# almost sensible ordering available. this would be much nicer if
# global (SVN-style) versioning were used - then that would be
# sort the elements by timestamp and version number, as this is the
# almost sensible ordering available. this would be much nicer if
# global (SVN-style) versioning were used - then that would be
# unambiguous.
elements.sort! do |a, b|
elements.sort! do |a, b|
if (a.timestamp == b.timestamp)
a.version <=> b.version
else
a.timestamp <=> b.timestamp
a.timestamp <=> b.timestamp
end
end
# create an osmChange document for the output
result = OSM::API.new.get_xml_doc
result.root.name = "osmChange"
# generate an output element for each operation. note: we avoid looking
# at the history because it is simpler - but it would be more correct to
# at the history because it is simpler - but it would be more correct to
# check these assertions.
elements.each do |elt|
result.root <<
if (elt.version == 1)
if (elt.version == 1)
# first version, so it must be newly-created.
created = XML::Node.new "create"
created << elt.to_xml_node
@ -217,7 +217,7 @@ class ChangesetController < ApplicationController
render :text => results.to_s, :content_type => "text/xml"
end
##
# updates a changeset's tags. none of the changeset's attributes are
# user-modifiable, so they will be ignored.
@ -238,7 +238,7 @@ class ChangesetController < ApplicationController
changeset.update_from(new_changeset, @user)
render :text => changeset.to_xml, :mime_type => "text/xml"
else
render :nothing => true, :status => :bad_request
end
end
@ -253,7 +253,7 @@ class ChangesetController < ApplicationController
if params[:display_name]
user = User.find_by_display_name(params[:display_name])
if user and user.active?
if user.data_public? or user == @user
changesets = changesets.where(:user_id => user.id)
@ -265,7 +265,7 @@ class ChangesetController < ApplicationController
return
end
end
if params[:friends]
if @user
changesets = changesets.where(:user_id => @user.friend_users.public)
@ -294,11 +294,11 @@ class ChangesetController < ApplicationController
changesets = conditions_bbox(changesets, bbox)
bbox_link = render_to_string :partial => "bbox", :object => bbox
end
if user
user_link = render_to_string :partial => "user", :object => user
end
if params[:friends] and @user
@title = t 'changeset.list.title_friend'
@heading = t 'changeset.list.heading_friend'
@ -343,7 +343,7 @@ class ChangesetController < ApplicationController
private
#------------------------------------------------------------
# utility functions below.
#------------------------------------------------------------
#------------------------------------------------------------
##
# if a bounding box was specified do some sanity checks.
@ -380,13 +380,13 @@ private
# make sure we found a user
raise OSM::APINotFoundError.new if u.nil?
# should be able to get changesets of public users only, or
# should be able to get changesets of public users only, or
# our own changesets regardless of public-ness.
unless u.data_public?
# get optional user auth stuff so that users can see their own
# changesets if they're non-public
setup_user_auth
raise OSM::APINotFoundError if @user.nil? or @user.id != u.id
end
return changesets.where(:user_id => u.id)
@ -397,14 +397,14 @@ private
##
# restrict changes to those closed during a particular time period
def conditions_time(changesets, time)
def conditions_time(changesets, time)
unless time.nil?
# if there is a range, i.e: comma separated, then the first is
# if there is a range, i.e: comma separated, then the first is
# low, second is high - same as with bounding boxes.
if time.count(',') == 1
# check that we actually have 2 elements in the array
times = time.split(/,/)
raise OSM::APIBadUserInput.new("bad time range") if times.size != 2
raise OSM::APIBadUserInput.new("bad time range") if times.size != 2
from, to = times.collect { |t| DateTime.parse(t) }
return changesets.where("closed_at >= ? and created_at <= ?", from, to)
@ -432,11 +432,11 @@ private
if open.nil?
return changesets
else
return changesets.where("closed_at >= ? and num_changes <= ?",
return changesets.where("closed_at >= ? and num_changes <= ?",
Time.now.getutc, Changeset::MAX_ELEMENTS)
end
end
##
# query changesets which are closed
# ('closed at' time has passed or changes limit is hit)
@ -444,7 +444,7 @@ private
if closed.nil?
return changesets
else
return changesets.where("closed_at < ? or num_changes > ?",
return changesets.where("closed_at < ? or num_changes > ?",
Time.now.getutc, Changeset::MAX_ELEMENTS)
end
end
@ -455,5 +455,5 @@ private
def conditions_nonempty(changesets)
return changesets.where("num_changes > 0")
end
end

View file

@ -29,7 +29,7 @@ class DiaryEntryController < ApplicationController
else
@user.preferences.create(:k => "diary.default_language", :v => @diary_entry.language_code)
end
redirect_to :controller => 'diary_entry', :action => 'list', :display_name => @user.display_name
redirect_to :controller => 'diary_entry', :action => 'list', :display_name => @user.display_name
else
render :action => 'edit'
end
@ -79,9 +79,9 @@ class DiaryEntryController < ApplicationController
if @this_user
@title = t 'diary_entry.list.user_title', :user => @this_user.display_name
@entry_pages, @entries = paginate(:diary_entries,
:conditions => {
:conditions => {
:user_id => @this_user.id,
:visible => true
:visible => true
},
:order => 'created_at DESC',
:per_page => 20)
@ -110,7 +110,7 @@ class DiaryEntryController < ApplicationController
:per_page => 20)
else
require_user
return
return
end
elsif params[:nearby]
if @user
@ -121,11 +121,11 @@ class DiaryEntryController < ApplicationController
:visible => true
},
:order => 'created_at DESC',
:per_page => 20)
:per_page => 20)
else
require_user
return
end
return
end
else
@title = t 'diary_entry.list.title'
@entry_pages, @entries = paginate(:diary_entries, :include => :user,
@ -189,14 +189,14 @@ class DiaryEntryController < ApplicationController
def comments
@comment_pages, @comments = paginate(:diary_comments,
:conditions => {
:conditions => {
:user_id => @this_user,
:visible => true
},
:order => 'created_at DESC',
:per_page => 20)
@page = (params[:page] || 1).to_i
end
end
private
##
# require that the user is a administrator, or fill out a helpful error message

View file

@ -10,11 +10,11 @@ module ApplicationHelper
end
def rss_link_to(*args)
return link_to(image_tag("RSS.gif", :size => "16x16", :border => 0), Hash[*args], { :class => "rsssmall" });
return link_to(image_tag("RSS.png", :size => "16x16", :border => 0), Hash[*args], { :class => "rsssmall" });
end
def atom_link_to(*args)
return link_to(image_tag("RSS.gif", :size => "16x16", :border => 0), Hash[*args], { :class => "rsssmall" });
return link_to(image_tag("RSS.png", :size => "16x16", :border => 0), Hash[*args], { :class => "rsssmall" });
end
def style_rules

View file

@ -1,92 +1,78 @@
<table>
<div class='column-1'>
<div class='browse-section common'>
<div>
<h4><%= t 'browse.changeset_details.created_at' %></h4>
<p><%= l changeset_details.created_at %></p>
</div>
<div>
<h4><%= t 'browse.changeset_details.closed_at' %></h4>
<p><%= l changeset_details.closed_at %></p>
</div>
<% if changeset_details.user.data_public? %>
<div>
<h4><%= t 'browse.changeset_details.belongs_to' %></h4>
<p><%= link_to h(changeset_details.user.display_name), :controller => "user", :action => "view", :display_name => changeset_details.user.display_name %></p>
</div>
<% end %>
</div>
<tr>
<th><%= t 'browse.changeset_details.created_at' %></th>
<td><%= l changeset_details.created_at %></td>
</tr>
<tr>
<th><%= t 'browse.changeset_details.closed_at' %></th>
<td><%= l changeset_details.closed_at %></td>
</tr>
<% if changeset_details.user.data_public? %>
<tr>
<th><%= t 'browse.changeset_details.belongs_to' %></th>
<td><%= link_to h(changeset_details.user.display_name), :controller => "user", :action => "view", :display_name => changeset_details.user.display_name %></td>
</tr>
<% end %>
<%= render :partial => "tag_details", :object => changeset_details %>
<tr>
<th><%= t 'browse.changeset_details.bounding_box' %></th>
<div class='browse-section clearfix'>
<h4><%= t 'browse.changeset_details.bounding_box' %></h4>
<% unless changeset_details.has_valid_bbox? %>
<td><%= t 'browse.changeset_details.no_bounding_box' %></td>
<% else
bbox = changeset_details.bbox.to_unscaled
%>
<td>
<table>
<tr>
<td colspan="3" style="text-align:center"><%=bbox.max_lat -%></td>
</tr>
<tr>
<td><%=bbox.min_lon -%></td>
<td>(<%= link_to t('browse.changeset_details.box'), root_path(:minlon => bbox.min_lon, :minlat => bbox.min_lat, :maxlon => bbox.max_lon, :maxlat => bbox.max_lat, :box => 'yes'), :title => t('browse.changeset_details.show_area_box') %>)</td>
<td><%=bbox.max_lon -%></td>
</tr>
<tr>
<td colspan="3" style="text-align:center"><%= bbox.min_lat -%></td>
</tr>
</table>
</td>
<p><%= t 'browse.changeset_details.no_bounding_box' %></p>
<% else bbox = changeset_details.bbox.to_unscaled %>
<div class='bbox'>
<div class='max_lat'><%=bbox.max_lat -%></div>
<div class='min_lon'><%=bbox.min_lon -%></div>
<div class='box'>(<%= link_to t('browse.changeset_details.box'), root_path(:minlon => bbox.min_lon, :minlat => bbox.min_lat, :maxlon => bbox.max_lon, :maxlat => bbox.max_lat, :box => 'yes'), :title => t('browse.changeset_details.show_area_box') %>)</div>
<div class='max_lon'><%=bbox.max_lon -%></div>
<div class='min_lat'><%= bbox.min_lat -%></div>
</div>
<% end %>
</tr>
</div>
<% unless @nodes.empty? %>
<tr valign="top">
<th><%= t 'browse.changeset_details.has_nodes', :count => @node_pages.item_count %></th>
<td>
<table cellpadding="0">
<div class='browse-section'>
<h4><%= t 'browse.changeset_details.has_nodes', :count => @node_pages.item_count %></h4>
<ul>
<% @nodes.each do |node| %>
<tr><td><%= link_to h(printable_name(node, true)), { :action => "node", :id => node.node_id.to_s }, :class => link_class('node', node), :title => link_title(node) %></td></tr>
<li><%= link_to h(printable_name(node, true)), { :action => "node", :id => node.node_id.to_s }, :class => link_class('node', node), :title => link_title(node) %></li>
<% end %>
</table>
</td>
</tr>
</ul>
</div>
<%= render :partial => 'paging_nav', :locals => { :pages => @node_pages, :page_param => "node_page"} %>
<% end %>
<% unless @ways.empty? %>
<tr valign="top">
<th><%= t 'browse.changeset_details.has_ways', :count => @way_pages.item_count %></th>
<td>
<table cellpadding="0">
<div class='browse-section'>
<h4><%= t 'browse.changeset_details.has_ways', :count => @way_pages.item_count %></h4>
<ul>
<% @ways.each do |way| %>
<tr><td><%= link_to h(printable_name(way, true)), { :action => "way", :id => way.way_id.to_s }, :class => link_class('way', way), :title => link_title(way) %></td></tr>
<li><%= link_to h(printable_name(way, true)), { :action => "way", :id => way.way_id.to_s }, :class => link_class('way', way), :title => link_title(way) %></li>
<% end %>
<%=
#render :partial => "containing_relation", :collection => changeset_details.containing_relation_members
#render :partial => "containing_relation", :collection => changeset_details.containing_relation_members
%>
</table>
</td>
</tr>
</ul>
</div>
<%= render :partial => 'paging_nav', :locals => { :pages => @way_pages, :page_param => "way_page" } %>
<% end %>
<% unless @relations.empty? %>
<tr valign="top">
<th><%= t 'browse.changeset_details.has_relations', :count => @relation_pages.item_count %></th>
<td>
<table cellpadding="0">
<div class='browse-section'>
<h4><%= t 'browse.changeset_details.has_relations', :count => @relation_pages.item_count %></h4>
<ul>
<% @relations.each do |relation| %>
<tr><td><%= link_to h(printable_name(relation, true)), { :action => "relation", :id => relation.relation_id.to_s }, :class => link_class('relation', relation), :title => link_title(relation) %></td></tr>
<li><%= link_to h(printable_name(relation, true)), { :action => "relation", :id => relation.relation_id.to_s }, :class => link_class('relation', relation), :title => link_title(relation) %></li>
<% end %>
</table>
</td>
</tr>
</ul>
</div>
<%= render :partial => 'paging_nav', :locals => { :pages => @relation_pages, :page_param => "relation_page" } %>
<% end %>
</table>
</div>

View file

@ -1,38 +1,39 @@
<tr>
<% if common_details.visible? %>
<th><%= t 'browse.common_details.edited_at' %></th>
<% else %>
<th><%= t 'browse.common_details.deleted_at' %></th>
<% end %>
<td><%= l common_details.timestamp %></td>
</tr>
<% if common_details.changeset.user.data_public? %>
<tr>
<div class='browse-section common'>
<div>
<% if common_details.visible? %>
<th><%= t 'browse.common_details.edited_by' %></th>
<h4><%= t 'browse.common_details.edited_at' %></h4>
<% else %>
<th><%= t 'browse.common_details.deleted_by' %></th>
<h4><%= t 'browse.common_details.deleted_at' %></h4>
<% end %>
<td><%= link_to h(common_details.changeset.user.display_name), :controller => "user", :action => "view", :display_name => common_details.changeset.user.display_name %></td>
</tr>
<% end %>
<p><%= l common_details.timestamp %></p>
</div>
<tr>
<th><%= t 'browse.common_details.version' %></th>
<td><%= h(common_details.version) %></td>
</tr>
<% if common_details.changeset.user.data_public? %>
<div>
<% if common_details.visible? %>
<h4><%= t 'browse.common_details.edited_by' %></h4>
<% else %>
<h4><%= t 'browse.common_details.deleted_by' %></h4>
<% end %>
<p><%= link_to h(common_details.changeset.user.display_name), :controller => "user", :action => "view", :display_name => common_details.changeset.user.display_name %></p>
</div>
<% end %>
<tr>
<th><%= t 'browse.common_details.in_changeset' %></th>
<td><%= link_to common_details.changeset_id, :action => :changeset, :id => common_details.changeset_id %></td>
</tr>
<div>
<h4><%= t 'browse.common_details.version' %></h4>
<p><%= h(common_details.version) %></p>
</div>
<% if common_details.changeset.tags['comment'] %>
<tr>
<th><%= t 'browse.common_details.changeset_comment' %></th>
<td><%= linkify(h(common_details.changeset.tags['comment'])) %></td>
</tr>
<% end %>
<div>
<h4><%= t 'browse.common_details.in_changeset' %></h4>
<p><%= link_to common_details.changeset_id, :action => :changeset, :id => common_details.changeset_id %></p>
</div>
<% if common_details.changeset.tags['comment'] %>
<div>
<h4><%= t 'browse.common_details.changeset_comment' %></h4>
<p><%= linkify(h(common_details.changeset.tags['comment'])) %></p>
</div>
<% end %>
</div>
<%= render :partial => "tag_details", :object => common_details %>

View file

@ -1,11 +1,8 @@
<tr>
<td><%=
linked_name = link_to h(printable_name(containing_relation.relation)), :action => "relation", :id => containing_relation.relation.id.to_s
if containing_relation.member_role.blank?
raw t 'browse.containing_relation.entry', :relation_name => linked_name
else
raw t 'browse.containing_relation.entry_role', :relation_name => linked_name, :relation_role => h(containing_relation.member_role)
end
%></td>
</tr>
<li><%=
linked_name = link_to h(printable_name(containing_relation.relation)), :action => "relation", :id => containing_relation.relation.id.to_s
if containing_relation.member_role.blank?
raw t 'browse.containing_relation.entry', :relation_name => linked_name
else
raw t 'browse.containing_relation.entry_role', :relation_name => linked_name, :relation_role => h(containing_relation.member_role)
end
%></li>

View file

@ -1,7 +1,7 @@
<iframe id="linkloader" style="display: none">
</iframe>
<div id="browse_map">
<div id="browse_map" class='clearfix content_map'>
<% if map.instance_of? Changeset or (map.instance_of? Node and map.version > 1) or map.visible %>
<% content_for :head do %>
@ -31,29 +31,38 @@
<%= content_tag "div", "", :id => "small_map", :data => data %>
<span id="loading"><%= t 'browse.map.loading' %></span>
<%= link_to t("browse.map.larger.area"),
root_path(:box => "yes"),
:id => "area_larger_map",
:class => "geolink bbox" %>
<br />
<%= link_to h(t("browse.map.edit.area")) + content_tag(:span, "▾", :class => "menuicon"),
edit_path,
:id => "area_edit",
:data => { :editor => preferred_editor },
:class => "geolink bbox" %>
<ul class='secondary-actions clearfix'>
<li>
<%= link_to t("browse.map.larger.area"),
root_path(:box => "yes"),
:id => "area_larger_map",
:class => "geolink bbox" %>
</li>
<li>
<%= link_to h(t("browse.map.edit.area")) + content_tag(:span, "▾", :class => "menuicon"),
edit_path,
:id => "area_edit",
:data => { :editor => preferred_editor },
:class => "geolink bbox" %>
</li>
</ul>
<% unless map.instance_of? Changeset %>
<br />
<%= link_to t("browse.map.larger." + map.class.to_s.downcase),
root_path,
:id => "object_larger_map",
:class => "geolink object" %>
<br />
<%= link_to h(t("browse.map.edit." + map.class.to_s.downcase)) + content_tag(:span, "▾", :class => "menuicon"),
edit_path,
:id => "object_edit",
:data => { :editor => preferred_editor },
:class => "geolink object" %>
<ul class='secondary-actions clearfix'>
<li>
<%= link_to t("browse.map.larger." + map.class.to_s.downcase),
root_path,
:id => "object_larger_map",
:class => "geolink object" %>
</li>
<li>
<%= link_to h(t("browse.map.edit." + map.class.to_s.downcase)) + content_tag(:span, "▾", :class => "menuicon"),
edit_path,
:id => "object_edit",
:data => { :editor => preferred_editor },
:class => "geolink object" %>
</li>
</ul>
<% end %>
<% else %>

View file

@ -1,42 +1,43 @@
<% type = (@next || @prev).class.name.downcase %>
<% margin = @next_by_user || @prev_by_user ? 9 : 18 %>
<div id="browse_navigation" style="margin-top: <%= margin %>px">
<% if @next_by_user or @prev_by_user %>
<span class="nowrap">
<% if @prev_by_user %>
<%= link_to t('browse.navigation.paging.user.prev', :id => @prev_by_user.id.to_s),
{ :id => @prev_by_user.id },
{ :title => t("browse.navigation.user.prev_#{type}_tooltip", :user => @prev_by_user.user.display_name) } %>
|
<% end %>
<%=
user = (@prev_by_user || @next_by_user).user.display_name
link_to h(user),
{ :controller => "changeset", :action => "list", :display_name => user },
{ :title => t("browse.navigation.user.name_#{type}_tooltip", :user => h(user)) }
%>
<% if @next_by_user %>
|
<%= link_to t('browse.navigation.paging.user.next', :id => @next_by_user.id.to_s),
{ :id => @next_by_user.id },
{ :title => t("browse.navigation.user.next_#{type}_tooltip", :user => @next_by_user.user.display_name) } %>
<% end %>
</span>
<br/>
<% end %>
<span class="nowrap">
<ul class='secondary-actions clearfix pager'>
<% if @prev %>
<li>
<%= link_to t('browse.navigation.paging.all.prev', :id => @prev.id.to_s),
{ :id => @prev.id },
{ :title => t("browse.navigation.all.prev_#{type}_tooltip") } %>
<% end %>
<% if @prev and @next %>
|
</li>
<% end %>
<% if @next %>
<%= link_to t('browse.navigation.paging.all.next', :id => @next.id.to_s),
{ :id => @next.id },
{ :title => t("browse.navigation.all.next_#{type}_tooltip") } %>
<li>
<%= link_to t('browse.navigation.paging.all.next', :id => @next.id.to_s),
{ :id => @next.id },
{ :title => t("browse.navigation.all.next_#{type}_tooltip") } %>
</li>
<% end %>
</span>
</div>
</ul>
<% if @next_by_user or @prev_by_user %>
<ul class='secondary-actions pager clearfix'>
<% if @prev_by_user %>
<li>
<%= link_to t('browse.navigation.paging.user.prev', :id => @prev_by_user.id.to_s),
{ :id => @prev_by_user.id },
{ :title => t("browse.navigation.user.prev_#{type}_tooltip", :user => @prev_by_user.user.display_name) } %>
</li>
<% end %>
<li>
<%=
user = (@prev_by_user || @next_by_user).user.display_name
link_to h(user),
{ :controller => "changeset", :action => "list", :display_name => user },
{ :title => t("browse.navigation.user.name_#{type}_tooltip", :user => h(user)) }
%>
</li>
<% if @next_by_user %>
<li>
<%= link_to t('browse.navigation.paging.user.next', :id => @next_by_user.id.to_s),
{ :id => @next_by_user.id },
{ :title => t("browse.navigation.user.next_#{type}_tooltip", :user => @next_by_user.user.display_name) } %>
</li>
<% end %>
</ul>
<% end %>

View file

@ -1,30 +1,28 @@
<% if node_details.redacted? %>
<p><%= t 'browse.redacted.message_html', :type => t('browse.redacted.type.node'), :redaction_link => link_to(t('browse.redacted.redaction', :id => node_details.redaction.id), node_details.redaction), :version => node_details.version %></p>
<% else %>
<table class="browse_details" id="<%= node_details.version %>">
<div class="browse_details" id="<%= node_details.version %>">
<%= render :partial => "common_details", :object => node_details %>
<% if node_details.visible -%>
<tr>
<th><%= t 'browse.node_details.coordinates' %></th>
<td><div class="geo"><%= link_to(content_tag(:span, number_with_delimiter(node_details.lat), :class => "latitude") + ", " + content_tag(:span, number_with_delimiter(node_details.lon), :class => "longitude"), {:controller => 'site', :action => 'index', :lat => h(node_details.lat), :lon => h(node_details.lon), :zoom => "18"}) %></div></td>
</tr>
<div class='browse-section'>
<h4><%= t 'browse.node_details.coordinates' %></h4>
<div class="geo"><%= link_to(content_tag(:span, number_with_delimiter(node_details.lat), :class => "latitude") + ", " + content_tag(:span, number_with_delimiter(node_details.lon), :class => "longitude"), {:controller => 'site', :action => 'index', :lat => h(node_details.lat), :lon => h(node_details.lon), :zoom => "18"}) %></div>
</div>
<% end -%>
<% unless node_details.ways.empty? and node_details.containing_relation_members.empty? %>
<tr valign="top">
<th><%= t 'browse.node_details.part_of' %></th>
<td>
<table cellpadding="0">
<div class='browse-section'>
<h4><%= t 'browse.node_details.part_of' %></h4>
<ul>
<% node_details.ways.each do |way| %>
<tr><td><%= link_to h(printable_name(way)), { :action => "way", :id => way.id.to_s }, :class => link_class('way', way), :title => link_title(way) %></td></tr>
<li><%= link_to h(printable_name(way)), { :action => "way", :id => way.id.to_s }, :class => link_class('way', way), :title => link_title(way) %></li>
<% end %>
<%= render :partial => "containing_relation", :collection => node_details.containing_relation_members %>
</table>
</td>
</tr>
</ul>
</div>
<% end %>
</table>
</div>
<% end %>

View file

@ -1,15 +1,14 @@
<tr><td colspan='2'>
<div>
<% current_page = pages.current_page %>
<%= t'browse.paging_nav.showing_page' %>
<%= current_page.number %> (<%= current_page.first_item %><%
if (current_page.first_item < current_page.last_item) # if more than 1 trace on page
%>-<%= current_page.last_item %><%
<%= t'browse.paging_nav.showing_page' %>
<%= current_page.number %> (<%= current_page.first_item %><%
if (current_page.first_item < current_page.last_item) # if more than 1 trace on page
%>-<%= current_page.last_item %><%
end %>
<%= t'browse.paging_nav.of'%> <%= pages.item_count %>)
<% if pages.page_count > 1 %>
| <%= raw pagination_links_each(pages, {}) { |n| link_to_page(n, page_param) } %>
<% end %>
</td>
</tr>
</div>

View file

@ -1,31 +1,23 @@
<% if relation_details.redacted? %>
<p><%= t 'browse.redacted.message_html', :type => t('browse.redacted.type.relation'), :redaction_link => link_to(t('browse.redacted.redaction', :id => relation_details.redaction.id), relation_details.redaction), :version => relation_details.version %></p>
<% else %>
<table class="browse_details" id="<%= relation_details.version %>">
<div class="browse_details" id="<%= relation_details.version %>">
<%= render :partial => "common_details", :object => relation_details %>
<% unless relation_details.relation_members.empty? %>
<tr valign="top">
<th><%= t'browse.relation_details.members' %></th>
<td>
<table cellpadding="0">
<%= render :partial => "relation_member", :collection => relation_details.relation_members %>
</table>
</td>
</tr>
<div class='browse-section'>
<h4><%= t'browse.relation_details.members' %></h4>
<ul><%= render :partial => "relation_member", :collection => relation_details.relation_members %></ul>
</div>
<% end %>
<% unless relation_details.containing_relation_members.empty? %>
<tr valign="top">
<th><%= t'browse.relation_details.part_of' %></th>
<td>
<table cellpadding="0">
<%= render :partial => "containing_relation", :collection => relation_details.containing_relation_members %>
</table>
</td>
</tr>
<div class='browse-section'>
<h4><%= t'browse.relation_details.part_of' %></h4>
<ul><%= render :partial => "containing_relation", :collection => relation_details.containing_relation_members %></ul>
</div>
<% end %>
</table>
</div>
<% end %>

View file

@ -1,14 +1,12 @@
<%
member_class = link_class(relation_member.member_type.downcase, relation_member.member)
linked_name = link_to h(printable_name(relation_member.member)), { :action => relation_member.member_type.downcase, :id => relation_member.member_id.to_s }, :title => link_title(relation_member.member)
type_str = t'browse.relation_member.type.' + relation_member.member_type.downcase
type_str = t'browse.relation_member.type.' + relation_member.member_type.downcase
%>
<tr>
<td class="<%= member_class %>"><%=
<li class="<%= member_class %>"><%=
if relation_member.member_role.blank?
raw t'browse.relation_member.entry', :type => type_str, :name => linked_name
else
raw t'browse.relation_member.entry_role', :type => type_str, :name => linked_name, :role => h(relation_member.member_role)
end
%></td>
</tr>
%></li>

View file

@ -1,3 +1 @@
<tr>
<td><%= format_key(tag[0]) %> = <%= format_value(tag[0], tag[1]) %></td>
</tr>
<li><%= format_key(tag[0]) %> = <%= format_value(tag[0], tag[1]) %></li>

View file

@ -1,10 +1,6 @@
<% unless tag_details.tags.empty? %>
<tr valign="top">
<th><%= t'browse.tag_details.tags' %></th>
<td>
<table cellpadding="0">
<%= render :partial => "tag", :collection => tag_details.tags.sort %>
</table>
</td>
</tr>
<% end %>
<div class='browse-section'>
<h4><%= t'browse.tag_details.tags' %></h4>
<ul><%= render :partial => "tag", :collection => tag_details.tags.sort %></ul>
</div>
<% end %>

View file

@ -1,39 +1,35 @@
<% if way_details.redacted? %>
<p><%= t 'browse.redacted.message_html', :type => t('browse.redacted.type.way'), :redaction_link => link_to(t('browse.redacted.redaction', :id => way_details.redaction.id), way_details.redaction), :version => way_details.version %></p>
<% else %>
<table class="browse_details" id="<%= way_details.version %>">
<div class="browse_details" id="<%= way_details.version %>">
<%= render :partial => "common_details", :object => way_details %>
<% unless way_details.way_nodes.empty? %>
<tr valign="top">
<th><%= t'browse.way_details.nodes' %></th>
<td>
<table cellpadding="0">
<div class='browse-section'>
<h4><%= t'browse.way_details.nodes' %></h4>
<ul>
<% way_details.way_nodes.each do |wn| %>
<tr><td>
<li>
<%= link_to h(printable_name(wn.node)), { :action => "node", :id => wn.node_id.to_s }, :class => link_class('node', wn.node), :title => link_title(wn.node) %>
<% related_ways = wn.node.ways.reject { |w| w.id == wn.way_id } %>
<% if related_ways.size > 0 then %>
(<%= raw t 'browse.way_details.also_part_of', :count => related_ways.size, :related_ways => related_ways.map { |w| link_to(h(printable_name(w)), { :action => "way", :id => w.id.to_s }, :class => link_class('way', w), :title => link_title(w) ) }.to_sentence %>)
<% end %>
</td></tr>
</li>
<% end %>
</table>
</td>
</tr>
</ul>
</div>
<% end %>
<% unless way_details.containing_relation_members.empty? %>
<tr valign="top">
<th><%= t'browse.way_details.part_of' %></th>
<td>
<table cellpadding="0">
<div class='browse-section'>
<h4><%= t'browse.way_details.part_of' %></h4>
<ul>
<%= render :partial => "containing_relation", :collection => way_details.containing_relation_members %>
</table>
</td>
</tr>
</ul>
<% end %>
</table>
</div>
<% end %>

View file

@ -1,12 +1,18 @@
<% content_for :head do %>
<%= stylesheet_link_tag 'browse' %>
<% end %>
<% content_for :heading do %>
<h2><%= t 'browse.changeset.changeset', :id => @changeset.id %></h2>
<ul class='secondary-actions clearfix'>
<li><%= link_to(t('browse.changeset.changesetxml'), :controller => "changeset", :action => "read") %></li>
<li><%= link_to(t('browse.changeset.osmchangexml'), :controller => "changeset", :action => "download") %></li>
</ul>
<% end %>
<%= render :partial => "navigation" %>
<h2><%= t 'browse.changeset.changeset', :id => @changeset.id %></h2>
<% if @changeset.has_valid_bbox? %>
<%= render :partial => "map", :object => @changeset %>
<% end %>
<%= render :partial => "changeset_details", :object => @changeset %>
<hr />
<%= link_to(t('browse.changeset.changesetxml'), :controller => "changeset", :action => "read") %>
| <%= link_to(t('browse.changeset.osmchangexml'), :controller => "changeset", :action => "download") %>
<%= render :partial => "changeset_details", :object => @changeset %>

View file

@ -5,15 +5,23 @@
<% content_for :head do %>
<%= stylesheet_link_tag 'browse' %>
<% end %>
<% content_for :heading do %>
<h2><%= t'browse.node.node_title', :node_name => @name %></h2>
<ul class='secondary-actions clearfix'>
<li><%= link_to(t('browse.node.download_xml'), :controller => "node", :action => "read") %></li>
<li><%= link_to(t('browse.node.view_history'), :action => "node_history") %></li>
<% if @node.visible -%>
<li><%= link_to(t('browse.node.edit'), :controller => "site", :action => "edit", :lat => @node.lat, :lon => @node.lon, :zoom => 18, :node => @node.id) %></li>
<% end -%>
</ul>
<% end %>
<%= render :partial => "navigation" %>
<h2><%= t'browse.node.node_title', :node_name => @name %></h2>
<% if @node.visible -%>
<%= render :partial => "map", :object => @node %>
<% end -%>
<%= render :partial => "node_details", :object => @node %>
<hr />
<%= link_to(t('browse.node.download_xml'), :controller => "node", :action => "read") %>
| <%= link_to(t('browse.node.view_history'), :action => "node_history") %>
<% if @node.visible -%>
| <%= link_to(t('browse.node.edit'), :controller => "site", :action => "edit", :lat => @node.lat, :lon => @node.lon, :zoom => 18, :node => @node.id) %>
<% end -%>
<div class='column-1'>
<%= render :partial => "node_details", :object => @node %>
</div>

View file

@ -2,13 +2,20 @@
@name = printable_name @node
@title = t('browse.node_history.node_history') + ' | ' + @name
%>
<h2><%= raw t'browse.node_history.node_history_title', :node_name => link_to(h(@name), :action => "node", :id => @node.id) %></h2>
<% if @node.visible -%>
<%= render :partial => "map", :object => @node %>
<% end -%>
<% @node.old_nodes.reverse.each do |node| %>
<%= render :partial => "node_details", :object => node %>
<hr />
<% content_for :heading do %>
<h2><%= raw t'browse.node_history.node_history_title', :node_name => link_to(h(@name), :action => "node", :id => @node.id) %></h2>
<ul class='secondary-actions clearfix'>
<li><%= link_to(t('browse.node_history.download_xml'), :controller => "old_node", :action => "history") %></li>
<li><%= link_to(t('browse.node_history.view_details'), :action => "node") %></li>
</ul>
<% end %>
<%= link_to(t('browse.node_history.download_xml'), :controller => "old_node", :action => "history") %>
| <%= link_to(t('browse.node_history.view_details'), :action => "node") %>
<% if @node.visible -%>
<%= render :partial => "map", :object => @node %>
<% end -%>
<div class='column-1'>
<% @node.old_nodes.reverse.each do |node| %>
<%= render :partial => "node_details", :object => node %>
<% end %>
</div>

View file

@ -5,10 +5,17 @@
<% content_for :head do %>
<%= stylesheet_link_tag 'browse' %>
<% end %>
<% content_for :heading do %>
<h2><%= t'browse.relation.relation_title', :relation_name => @name %></h2>
<ul class='secondary-actions clearfix'>
<li><%= link_to(t('browse.relation.download_xml'), :controller => "relation", :action => "read") %></li>
<li><%= link_to(t('browse.relation.view_history'), :action => "relation_history") %></li>
</ul>
<% end %>
<%= render :partial => "navigation" %>
<h2><%= t'browse.relation.relation_title', :relation_name => @name %></h2>
<%= render :partial => "map", :object => @relation %>
<%= render :partial => "relation_details", :object => @relation %>
<hr />
<%= link_to(t('browse.relation.download_xml'), :controller => "relation", :action => "read") %>
| <%= link_to(t('browse.relation.view_history'), :action => "relation_history") %>
<div class='column-1'>
<%= render :partial => "relation_details", :object => @relation %>
</div>

View file

@ -2,11 +2,18 @@
@name = printable_name @relation
@title = t('browse.relation_history.relation_history') + ' | ' + @name
%>
<h2><%= raw t'browse.relation_history.relation_history_title', :relation_name => link_to(h(@name), :action => "relation", :id => @relation.id) %></h2>
<% content_for :heading do %>
<h2><%= raw t'browse.relation_history.relation_history_title', :relation_name => link_to(h(@name), :action => "relation", :id => @relation.id) %></h2>
<ul class='secondary-actions clearfix'>
<li><%= link_to(t('browse.relation_history.download_xml'), :controller => "old_relation", :action => "history") %></li>
<li><%= link_to(t('browse.relation_history.view_details'), :action => "relation") %></li>
</ul>
<% end %>
<%= render :partial => "map", :object => @relation %>
<div class='column-1'>
<% @relation.old_relations.reverse.each do |relation| %>
<%= render :partial => "relation_details", :object => relation %>
<hr />
<% end %>
<%= link_to(t('browse.relation_history.download_xml'), :controller => "old_relation", :action => "history") %>
| <%= link_to(t('browse.relation_history.view_details'), :action => "relation") %>
</div>

View file

@ -1,13 +1,6 @@
<div>
<div style="text-align: center">
<p style="margin-top: 10px; margin-bottom: 20px">
<a id="browse_filter_toggle" href="#"><%= t'browse.start_rjs.manually_select' %></a>
<br />
<a id="browse_hide_areas_box" href="#"><%= t'browse.start_rjs.hide_areas' %></a>
</p>
</div>
<div id="browse_status" style="text-align: center; display: none">
</div>
<div id="browse_content">
</div>
<div id="browse_controls" class='inner12'>
<a id="browse_filter_toggle" class="button" href="#"><%= t'browse.start_rjs.manually_select' %></a>
<a id="browse_hide_areas_box" class="button" href="#"><%= t'browse.start_rjs.hide_areas' %></a>
</div>
<div id="browse_status" class='inner12'></div>
<div id="browse_content"></div>

View file

@ -5,11 +5,19 @@
<% content_for :head do %>
<%= stylesheet_link_tag 'browse' %>
<% end %>
<% content_for :heading do %>
<h2><%= t'browse.way.way_title', :way_name => @name %></h2>
<ul class='secondary-actions clearfix'>
<li><%= link_to(t('browse.way.download_xml'), :controller => "way", :action => "read") %></li>
<li><%= link_to(t('browse.way.view_history'), :action => "way_history") %></li>
<li><%= link_to(t('browse.way.edit'), :controller => "site", :action => "edit", :way => @way.id) %></li>
</ul>
<% end %>
<%= render :partial => "navigation" %>
<h2><%= t'browse.way.way_title', :way_name => @name %></h2>
<%= render :partial => "map", :object => @way %>
<%= render :partial => "way_details", :object => @way %>
<hr />
<%= link_to(t('browse.way.download_xml'), :controller => "way", :action => "read") %>
| <%= link_to(t('browse.way.view_history'), :action => "way_history") %>
| <%= link_to(t('browse.way.edit'), :controller => "site", :action => "edit", :way => @way.id) %>
<div class='column-1'>
<%= render :partial => "way_details", :object => @way %>
</div>

View file

@ -2,11 +2,18 @@
@name = printable_name @way
@title = t('browse.way_history.way_history') + ' | ' + @name
%>
<h2><%= raw t'browse.way_history.way_history_title', :way_name => link_to(h(@name), :action => "way", :id => @way.id) %></h2>
<% content_for :heading do %>
<h2><%= raw t'browse.way_history.way_history_title', :way_name => link_to(h(@name), :action => "way", :id => @way.id) %></h2>
<ul class='secondary-actions clearfix'>
<li><%= link_to(t('browse.way_history.download_xml'), :controller => "old_way", :action => "history") %></li>
<li><%= link_to(t('browse.way_history.view_details'), :action => "way") %></li>
</ul>
<% end %>
<%= render :partial => "map", :object => @way %>
<div class='column-1'>
<% @way.old_ways.reverse.each do |way| %>
<%= render :partial => "way_details", :object => way %>
<hr />
<% end %>
<%= link_to(t('browse.way_history.download_xml'), :controller => "old_way", :action => "history") %>
| <%= link_to(t('browse.way_history.view_details'), :action => "way") %>
</div>

View file

@ -12,39 +12,39 @@
end
%>
<%= content_tag "tr", :class => cycle('table0', 'table1'), :id => "tr-changeset-#{changeset.id}", :data => {:changeset => changeset_data} do %>
<td>
<%=
id_link = link_to(changeset.id,
{:controller => 'browse', :action => 'changeset', :id => changeset.id},
{:title => t('changeset.changeset.view_changeset_details')})
raw t 'changeset.changeset.id', :id => id_link
%>
</td>
<%= content_tag "ul", :class => 'changeset_item', :id => "changeset_#{changeset.id}", :data => {:changeset => changeset_data} do %>
<li>
<td class="date">
<span class="date">
<span class="changeset_id">
<%=
link_to(changeset.id,
{:controller => 'browse', :action => 'changeset', :id => changeset.id},
{:title => t('changeset.changeset.view_changeset_details')})
%>
</span>
<span class='date'>
<% if changeset.closed_at > DateTime.now %> <%= t'changeset.changeset.still_editing' %>
<% else %><%= l changeset.closed_at, :format => :long %><% end %>
</span>
<%if showusername %>
<br />
<span class="user">
<% if changeset.user.data_public? %>
<%= link_to h(changeset.user.display_name), :controller => "changeset", :action => "list", :display_name => changeset.user.display_name %>
<% else %>
<i><%= t'changeset.changeset.anonymous' %></i>
<% end %>
<% if changeset.user.data_public? %>
<%= link_to h(changeset.user.display_name), :controller => "changeset", :action => "list", :display_name => changeset.user.display_name %>
<% else %>
<i><%= t'changeset.changeset.anonymous' %></i>
<% end %>
</span>
<% end %>
</td>
<td class="comment">
</li>
<li class="comment deemphasize">
<% if changeset.tags['comment'].to_s != '' %>
<%= linkify(h(changeset.tags['comment'])) %>
<% else %>
<%= t'changeset.changeset.no_comment' %>
<% end %>
</td>
</li>
<% end %>

View file

@ -1,17 +1,15 @@
<p>
<ul class='secondary-actions pager clearfix'>
<% if @page > 1 %>
<li><%= link_to t('changeset.changeset_paging_nav.previous'), params.merge({ :page => @page - 1 }) %></li>
<% else %>
<li><%= t('changeset.changeset_paging_nav.previous') %></li>
<% end %>
<% if @page > 1 %>
<%= link_to t('changeset.changeset_paging_nav.previous'), params.merge({ :page => @page - 1 }) %>
<% else %>
<%= t('changeset.changeset_paging_nav.previous') %>
<% end %>
<li><%= t('changeset.changeset_paging_nav.showing_page', :page => @page) %></li>
| <%= t('changeset.changeset_paging_nav.showing_page', :page => @page) %> |
<% if @edits.size < @page_size %>
<%= t('changeset.changeset_paging_nav.next') %>
<% else %>
<%= link_to t('changeset.changeset_paging_nav.next'), params.merge({ :page => @page + 1 }) %>
<% end %>
</p>
<% if @edits.size < @page_size %>
<li><%= t('changeset.changeset_paging_nav.next') %></li>
<% else %>
<li><%= link_to t('changeset.changeset_paging_nav.next'), params.merge({ :page => @page + 1 }) %></li>
<% end %>
</ul>

View file

@ -1,4 +1,4 @@
<% showusername = true if showusername.nil? %>
<table id="changeset_list">
<div id="changeset_list">
<%= render :partial => 'changeset', :locals => {:showusername => showusername}, :collection => @edits unless @edits.nil? %>
</table>
</div>

View file

@ -2,28 +2,34 @@
<%= javascript_include_tag "changeset" %>
<% end -%>
<h1><%= @heading %></h1>
<p><%= raw(@description) %></p>
<% content_for :heading do %>
<h1><%= @heading %></h1>
<ul class='secondary-actions clearfix'>
<li><%= raw(@description) %></li>
<% unless params[:friends] or params[:nearby] -%>
<li><%= atom_link_to params.merge({ :page => nil, :action => :feed }) %></li>
<% end -%>
</ul>
<% end %>
<%= render :partial => 'changeset_paging_nav' %>
<% if @edits.size > 0 %>
<%= render :partial => 'changeset_paging_nav' %>
<div id="changeset_list_container">
<%= render :partial => 'map' %>
<%= render :partial => 'map' %>
<div class='column-1'>
<%= render :partial => 'changesets', :locals => { :showusername => !params.has_key?(:display_name) } %>
</div>
<%= render :partial => 'changeset_paging_nav' %>
<% elsif @user and @user.display_name == params[:display_name] %>
<p><%= t('changeset.list.empty_user_html') %></p>
<h4><%= t('changeset.list.empty_user_html') %></h4>
<% else %>
<p><%= t('changeset.list.empty_anon_html') %></p>
<h4><%= t('changeset.list.empty_anon_html') %></h4>
<% end %>
<% unless params[:friends] or params[:nearby] -%>
<%= atom_link_to params.merge({ :page => nil, :action => :feed }) %>
<% content_for :head do -%>
<%= auto_discovery_link_tag :atom, params.merge({ :page => nil, :action => :feed }) %>
<% end -%>
<% end -%>
<% content_for :head do -%>
<%= auto_discovery_link_tag :atom, params.merge({ :page => nil, :action => :feed }) %>
<% end -%>
<% end -%>

View file

@ -1 +1 @@
<p><%= t'changeset.timeout.sorry' %></p>
<p><%= t'changeset.timeout.sorry' %></p>

View file

@ -1,7 +1,8 @@
<%= user_thumbnail diary_comment.user %>
<h4 id="comment<%= diary_comment.id %>"><%= raw(t('diary_entry.diary_comment.comment_from', :link_user => (link_to h(diary_comment.user.display_name), :controller => 'user', :action => 'view', :display_name => diary_comment.user.display_name), :comment_created_at => l(diary_comment.created_at, :format => :friendly))) %></h4>
<%= diary_comment.body.to_html %>
<%= if_administrator(:span) do %>
<%= link_to t('diary_entry.diary_comment.hide_link'), hide_diary_comment_path(:display_name => diary_comment.diary_entry.user.display_name, :id => diary_comment.diary_entry.id, :comment => diary_comment.id), :method => :post, :data=> { :confirm => t('diary_entry.diary_comment.confirm') } %>
<% end %>
<hr />
<div class='clearfix diary-comment'>
<%= user_thumbnail diary_comment.user %>
<p class='deemphasize comment-heading' id="comment<%= diary_comment.id %>"><%= raw(t('diary_entry.diary_comment.comment_from', :link_user => (link_to h(diary_comment.user.display_name), :controller => 'user', :action => 'view', :display_name => diary_comment.user.display_name), :comment_created_at => l(diary_comment.created_at, :format => :friendly))) %></p>
<%= diary_comment.body.to_html %>
<%= if_administrator(:span) do %>
<%= link_to t('diary_entry.diary_comment.hide_link'), hide_diary_comment_path(:display_name => diary_comment.diary_entry.user.display_name, :id => diary_comment.diary_entry.id, :comment => diary_comment.id), :method => :post, :data=> { :confirm => t('diary_entry.diary_comment.confirm') } %>
<% end %>
</div>

View file

@ -1,30 +1,36 @@
<b><%= link_to h(diary_entry.title), :action => 'view', :display_name => diary_entry.user.display_name, :id => diary_entry.id %></b><br />
<div class='diary_post'>
<div class='post_heading clearfix'>
<% if !@this_user %>
<%= user_thumbnail diary_entry.user %>
<% end %>
<div xml:lang="<%= diary_entry.language_code %>" lang="<%= diary_entry.language_code %>">
<%= diary_entry.body.to_html %>
<h2><%= link_to h(diary_entry.title), :action => 'view', :display_name => diary_entry.user.display_name, :id => diary_entry.id %></h2>
</div>
<div xml:lang="<%= diary_entry.language_code %>" lang="<%= diary_entry.language_code %>">
<%= diary_entry.body.to_html %>
</div>
<% if diary_entry.latitude and diary_entry.longitude %>
<%= render :partial => "location", :object => diary_entry %>
<% end %>
<small class='deemphasize'>
<%= raw(t 'diary_entry.diary_entry.posted_by', :link_user => (link_to h(diary_entry.user.display_name), :controller => 'user', :action => 'view', :display_name => diary_entry.user.display_name), :created => l(diary_entry.created_at, :format => :friendly), :language_link => (link_to h(diary_entry.language.name), :controller => 'diary_entry', :action => 'list', :display_name => nil, :language => diary_entry.language_code)) %>
</small>
<ul class='secondary-actions clearfix'>
<% if params[:action] == 'list' %>
<li><%= link_to t('diary_entry.diary_entry.comment_link'), :action => 'view', :display_name => diary_entry.user.display_name, :id => diary_entry.id, :anchor => 'newcomment' %></li>
<li><%= link_to t('diary_entry.diary_entry.reply_link'), :controller => 'message', :action => 'new', :display_name => diary_entry.user.display_name, :title => "Re: #{diary_entry.title}" %></li>
<li><%= link_to t('diary_entry.diary_entry.comment_count', :count => diary_entry.visible_comments.count), :action => 'view', :display_name => diary_entry.user.display_name, :id => diary_entry.id, :anchor => 'comments' %></li>
<% end %>
<%= if_user(diary_entry.user, :span) do %>
<li><%= link_to t('diary_entry.diary_entry.edit_link'), :action => 'edit', :display_name => diary_entry.user.display_name, :id => diary_entry.id %></li>
<% end %>
<%= if_administrator(:span) do %>
<li><%= link_to t('diary_entry.diary_entry.hide_link'), hide_diary_entry_path(:display_name => diary_entry.user.display_name, :id => diary_entry.id), :method => :post, :data => { :confirm => t('diary_entry.diary_entry.confirm') } %></li>
<% end %>
</ul>
</div>
<% if diary_entry.latitude and diary_entry.longitude %>
<%= render :partial => "location", :object => diary_entry %>
<br />
<% end %>
<%= raw(t 'diary_entry.diary_entry.posted_by', :link_user => (link_to h(diary_entry.user.display_name), :controller => 'user', :action => 'view', :display_name => diary_entry.user.display_name), :created => l(diary_entry.created_at, :format => :friendly), :language_link => (link_to h(diary_entry.language.name), :controller => 'diary_entry', :action => 'list', :display_name => nil, :language => diary_entry.language_code)) %>
<% if params[:action] == 'list' %>
<br />
<%= link_to t('diary_entry.diary_entry.comment_link'), :action => 'view', :display_name => diary_entry.user.display_name, :id => diary_entry.id, :anchor => 'newcomment' %>
|
<%= link_to t('diary_entry.diary_entry.reply_link'), :controller => 'message', :action => 'new', :display_name => diary_entry.user.display_name, :title => "Re: #{diary_entry.title}" %>
|
<%= link_to t('diary_entry.diary_entry.comment_count', :count => diary_entry.visible_comments.count), :action => 'view', :display_name => diary_entry.user.display_name, :id => diary_entry.id, :anchor => 'comments' %>
<% end %>
<%= if_user(diary_entry.user, :span) do %>
| <%= link_to t('diary_entry.diary_entry.edit_link'), :action => 'edit', :display_name => diary_entry.user.display_name, :id => diary_entry.id %>
<% end %>
<%= if_administrator(:span) do %>
| <%= link_to t('diary_entry.diary_entry.hide_link'), hide_diary_entry_path(:display_name => diary_entry.user.display_name, :id => diary_entry.id), :method => :post, :data => { :confirm => t('diary_entry.diary_entry.confirm') } %>
<% end %>
<br />
<hr />

View file

@ -1,2 +1 @@
<%= user_thumbnail diary_list_entry.user %>
<%= render :partial => "diary_entry", :object => diary_list_entry %>
<%= render :partial => "diary_entry", :object => diary_list_entry %>

View file

@ -1,23 +1,24 @@
<h1><%= t('diary_entry.comments.has_commented_on', :display_name => @this_user.display_name) %></h1>
<% content_for :heading do %>
<h1><%= t('diary_entry.comments.has_commented_on', :display_name => @this_user.display_name) %></h1>
<% end %>
<table width="100%">
<table class="comments-table" width="100%">
<tr>
<th><%= t 'diary_entry.comments.post' %></th>
<th><%= t 'diary_entry.comments.when' %></th>
<th><%= t 'diary_entry.comments.comment' %></th>
<th width="25%"><%= t 'diary_entry.comments.post' %></th>
<th width="25%"><%= t 'diary_entry.comments.when' %></th>
<th width="50%"><%= t 'diary_entry.comments.comment' %></th>
</tr>
<% @comments.each do |comment| -%>
<% cl = cycle('table0', 'table1') %>
<tr class="<%= cl %>">
<td><%= link_to comment.diary_entry.title, :action => :view, :display_name => comment.diary_entry.user.display_name, :id => comment.diary_entry.id %></td>
<td><span title="<%= l comment.created_at, :format => :friendly %>"><%= t 'diary_entry.comments.ago', :ago => time_ago_in_words(comment.created_at) %></span></td>
<td><%= comment.body.to_html %></td>
<td width="25%"><%= link_to comment.diary_entry.title, :action => :view, :display_name => comment.diary_entry.user.display_name, :id => comment.diary_entry.id %></td>
<td width="25%"><span title="<%= l comment.created_at, :format => :friendly %>"><%= t 'diary_entry.comments.ago', :ago => time_ago_in_words(comment.created_at) %></span></td>
<td width="50%"><%= comment.body.to_html %></td>
</tr>
<% end -%>
</table>
<%= link_to t('diary_entry.comments.older_comments') , { :page => @comment_pages.current.next} if @comment_pages.current.next %>
<% if @comment_pages.current.next and @comment_pages.current.previous %>
|
<% end %>
<%= link_to t('diary_entry.comments.newer_comments'), { :page => @comment_pages.current.previous } if @comment_pages.current.previous %>
<ul class='secondary-actions clearfix'>
<li><%= link_to t('diary_entry.comments.older_comments') , { :page => @comment_pages.current.next} if @comment_pages.current.next %></li>
<li><%= link_to t('diary_entry.comments.newer_comments'), { :page => @comment_pages.current.previous } if @comment_pages.current.previous %></li>
</ul>

View file

@ -2,7 +2,9 @@
<%= javascript_include_tag "diary_entry" %>
<% end %>
<h1><%= @title %></h1>
<% content_for :heading do %>
<h1><%= @title %></h1>
<% end %>
<%= error_messages_for 'diary_entry' %>

View file

@ -1,43 +1,47 @@
<% if @this_user %>
<%= user_image @this_user %>
<% end %>
<% content_for :heading do %>
<div <% if @this_user %> id="userinformation"<% end %> >
<% if @this_user %>
<%= user_image @this_user %>
<% end %>
<h2><%= h(@title) %></h2>
<h2><%= h(@title) %></h2>
<ul class='secondary-actions clearfix'>
<% unless params[:friends] or params[:nearby] -%>
<li><%= rss_link_to :action => 'rss', :language => params[:language] %></li>
<% end -%>
<% if @this_user %>
<%= if_user(@this_user) do %>
<%= link_to image_tag("new.png", :border=>0) + t('diary_entry.list.new'), {:controller => 'diary_entry', :action => 'new'}, {:title => t('diary_entry.list.new_title')} %>
<% end %>
<% else %>
<%= if_logged_in do %>
<%= link_to image_tag("new.png", :border=>0) + t('diary_entry.list.new'), {:controller => 'diary_entry', :action => 'new'}, {:title => t('diary_entry.list.new_title')} %>
<% end %>
<% if @this_user %>
<%= if_user(@this_user) do %>
<li><%= link_to image_tag("new.png", :class => "small_icon", :border=>0) + t('diary_entry.list.new'), {:controller => 'diary_entry', :action => 'new'}, {:title => t('diary_entry.list.new_title')} %></li>
<% end %>
<% else %>
<%= if_logged_in do %>
<li><%= link_to image_tag("new.png", :class => "small_icon", :border=>0) + t('diary_entry.list.new'), {:controller => 'diary_entry', :action => 'new'}, {:title => t('diary_entry.list.new_title')} %></li>
<% end %>
<% end %>
</ul>
</div>
<% end %>
<% if @entries.empty? %>
<p><%= t 'diary_entry.list.no_entries' %></p>
<h4><%= t 'diary_entry.list.no_entries' %></h4>
<% else %>
<p><%= t 'diary_entry.list.recent_entries' %></p>
<h4><%= t 'diary_entry.list.recent_entries' %></h4>
<hr />
<% if @this_user %>
<%= render :partial => 'diary_entry', :collection => @entries %>
<% else %>
<%= render :partial => 'diary_list_entry', :collection => @entries %>
<% end %>
<% if @this_user %>
<%= render :partial => 'diary_entry', :collection => @entries %>
<% else %>
<%= render :partial => 'diary_list_entry', :collection => @entries %>
<% end %>
<%= link_to t('diary_entry.list.older_entries'), { :page => @entry_pages.current.next, :language => params[:language] } if @entry_pages.current.next %>
<% if @entry_pages.current.next and @entry_pages.current.previous %>|<% end %>
<%= link_to t('diary_entry.list.newer_entries'), { :page => @entry_pages.current.previous, :language => params[:language] } if @entry_pages.current.previous %>
<%= link_to t('diary_entry.list.older_entries'), { :page => @entry_pages.current.next, :language => params[:language] } if @entry_pages.current.next %>
<% if @entry_pages.current.next and @entry_pages.current.previous %>|<% end %>
<%= link_to t('diary_entry.list.newer_entries'), { :page => @entry_pages.current.previous, :language => params[:language] } if @entry_pages.current.previous %>
<br />
<% end %>
<% unless params[:friends] or params[:nearby] -%>
<%= rss_link_to :action => 'rss', :language => params[:language] %>
<% content_for :head do -%>
<%= auto_discovery_link_tag :atom, :action => 'rss', :language => params[:language] %>
<% end -%>
<% content_for :head do -%>
<%= auto_discovery_link_tag :atom, :action => 'rss', :language => params[:language] %>
<% end -%>
<% end -%>

View file

@ -1,2 +1,5 @@
<h2><%= t 'diary_entry.no_such_entry.heading', :id => h(params[:id]) %></h2>
<% content_for :heading do %>
<h2><%= t 'diary_entry.no_such_entry.heading', :id => h(params[:id]) %></h2>
<% end %>
<p><%= t 'diary_entry.no_such_entry.body', :id => h(params[:id]) %></p>

View file

@ -1,26 +1,27 @@
<%= user_image @entry.user %>
<h2><%= link_to t('diary_entry.view.user_title', :user => h(@entry.user.display_name)), :action => :list %></h2>
<% content_for :heading do %>
<div id="userinformation" >
<%= user_image @entry.user %>
<h2><%= link_to t('diary_entry.view.user_title', :user => h(@entry.user.display_name)), :action => :list %></h2>
</div>
<% end %>
<%= render :partial => 'diary_entry', :object => @entry %>
<a id="comments"></a>
<div class='comments'>
<%= render :partial => 'diary_comment', :collection => @entry.visible_comments %>
</div>
<%= if_logged_in(:div) do %>
<h4 id="newcomment"><%= t 'diary_entry.view.leave_a_comment' %></h4>
<h3 id="newcomment"><%= t 'diary_entry.view.leave_a_comment' %></h3>
<%= error_messages_for 'diary_comment' %>
<%= form_for :diary_comment, :url => { :action => 'comment' } do |f| %>
<%= richtext_area :diary_comment, :body, :cols => 80, :rows => 15 %>
<br />
<br />
<%= submit_tag t('diary_entry.view.save_button') %>
<% end %>
<% end %>
<%= if_not_logged_in(:div) do %>
<h4 id="newcomment"><%= raw t("diary_entry.view.login_to_leave_a_comment", :login_link => link_to(t("diary_entry.view.login"), :controller => 'user', :action => 'login', :referer => request.fullpath)) %></h4>
<% end %>
<h3 id="newcomment"><%= raw t("diary_entry.view.login_to_leave_a_comment", :login_link => link_to(t("diary_entry.view.login"), :controller => 'user', :action => 'login', :referer => request.fullpath)) %></h3>
<% end %>

View file

@ -1,73 +1,69 @@
<%= form_tag :action => "finish" do %>
<p class="export_heading"><%= t'export.start.area_to_export' %></p>
<h4><%= t'export.start.area_to_export' %></h4>
<div class="export_bounds">
<%= text_field_tag('maxlat', nil, :size => 10, :class => "export_bound") %>
<br/>
<%= text_field_tag('minlon', nil, :size => 10, :class => "export_bound") %>
<%= text_field_tag('maxlon', nil, :size => 10, :class => "export_bound") %>
<br/>
<%= text_field_tag('minlat', nil, :size => 10, :class => "export_bound") %>
<p class="export_hint">
<a id="drag_box" href="#"><%= t'export.start.manually_select' %></a>
</p>
<div class="export_bounds inner12">
<div class='export_area_inputs'>
<%= text_field_tag('maxlat', nil, :size => 10, :class => "export_bound") %>
<br/>
<%= text_field_tag('minlon', nil, :size => 10, :class => "export_bound") %>
<%= text_field_tag('maxlon', nil, :size => 10, :class => "export_bound") %>
<br/>
<%= text_field_tag('minlat', nil, :size => 10, :class => "export_bound") %>
</div>
<a id="drag_box" class='export_hint button' href="#"><%= t'export.start.manually_select' %></a>
</div>
<p class="export_heading"><%= t'export.start.format_to_export' %></p>
<h4><%= t'export.start.format_to_export' %></h4>
<div class="export_details">
<p>
<%= radio_button_tag("format", "osm") %> <%= t'export.start.osm_xml_data' %>
<br/>
<%= radio_button_tag("format", "mapnik") %> <%= t'export.start.map_image' %>
<br/>
<%= radio_button_tag("format", "html") %> <%= t'export.start.embeddable_html' %>
</p>
</div>
<ul class="export_details inner12">
<li><%= radio_button_tag("format", "osm") %> <%= t'export.start.osm_xml_data' %></li>
<li><%= radio_button_tag("format", "mapnik") %> <%= t'export.start.map_image' %></li>
<li><%= radio_button_tag("format", "html") %> <%= t'export.start.embeddable_html' %></li>
</ul>
<div id="export_osm">
<p class="export_heading"><%= t'export.start.licence' %></p>
<h4><%= t'export.start.licence' %></h4>
<div class="export_details">
<div class="export_details inner12">
<p><%= raw t'export.start.export_details' %></p>
</div>
<div id="export_osm_too_large">
<p class="export_heading"><%= t'export.start.too_large.heading' %></p>
<h4><%= t'export.start.too_large.heading' %></h4>
<div class="export_details">
<div class="export_details inner12">
<p><%= t'export.start.too_large.body' %></p>
</div>
</div>
</div>
<div id="export_mapnik">
<p class="export_heading"><%= t'export.start.options' %></p>
<h4><%= t'export.start.options' %></h4>
<div class="export_details">
<p><%= t'export.start.format' %> <%= select_tag("mapnik_format", options_for_select([["PNG", "png"], ["JPEG", "jpeg"], ["SVG", "svg"], ["PDF", "pdf"]], "png")) %></p>
<p><%= t'export.start.scale' %> 1 : <%= text_field_tag("mapnik_scale", nil, :size => 8) %> <span class="export_hint">(<%= t'export.start.max' %> 1 : <span id="mapnik_max_scale"></span>)</span></p>
<p><%= t'export.start.image_size' %> <span id="mapnik_image_width"></span> x <span id="mapnik_image_height"></span></p>
</div>
<ul class="export_details inner12">
<li><%= t'export.start.format' %> <%= select_tag("mapnik_format", options_for_select([["PNG", "png"], ["JPEG", "jpeg"], ["SVG", "svg"], ["PDF", "pdf"]], "png")) %></li>
<li><%= t'export.start.scale' %> 1 : <%= text_field_tag("mapnik_scale", nil) %> <p class="deemphasize export_hint">(<%= t'export.start.max' %> 1 : <span id="mapnik_max_scale"></span>)</p></li>
<li><%= t'export.start.image_size' %> <span id="mapnik_image_width"></span> x <span id="mapnik_image_height"></span></li>
</ul>
</div>
<div id="export_html">
<p class="export_heading"><%= t'export.start.options' %></p>
<h4><%= t'export.start.options' %></h4>
<div class="export_details">
<p><a id="add_marker" href="#"><%= t'export.start.add_marker' %></a></p>
<p id="marker_inputs" style="display:none">
<%= t'export.start.latitude' %> <input type="text" id="marker_lat" size="9" />
<%= t'export.start.longitude' %> <input type="text" id="marker_lon" size="9" />
</p>
<div class="export_details inner12">
<ul id="marker_inputs" style="display:none">
<li><%= t'export.start.latitude' %> <input type="text" id="marker_lat"/></li>
<li><%= t'export.start.longitude' %> <input type="text" id="marker_lon"/></li>
</ul>
<a id="add_marker" class='button' href="#"><%= t'export.start.add_marker' %></a>
</div>
<p class="export_heading"><%= t'export.start.output' %></p>
<h4><%= t'export.start.output' %></h4>
<div class="export_details">
<p><input type="text" id="export_html_text" style="width:95%" /></p>
<p><%= t'export.start.paste_html' %></p>
<div class="export_details inner12">
<input type="text" id="export_html_text"/>
<p class='deemphasize'><%= t'export.start.paste_html' %></p>
</div>
</div>

View file

@ -1,10 +1,10 @@
<% @sources.each do |source| %>
<% if source[:types] %>
<p class="search_results_heading"><%= raw(t("geocoder.description.title.#{source[:name]}", :types => t("geocoder.description.types.#{source[:types]}"))) %></p>
<h4><%= raw(t("geocoder.description.title.#{source[:name]}", :types => t("geocoder.description.types.#{source[:types]}"))) %></h4>
<% else %>
<p class="search_results_heading"><%= raw(t("geocoder.description.title.#{source[:name]}")) %></p>
<h4><%= raw(t("geocoder.description.title.#{source[:name]}")) %></h4>
<% end %>
<div class='search_results_entry' id='<%= "description_#{source[:name]}_#{source[:types]}" %>'>
<div class='search_results_entry inner12' id='<%= "description_#{source[:name]}_#{source[:types]}" %>'>
<%= image_tag "searching.gif", :class => "search_searching" %>
</div>
<script type="text/javascript">

View file

@ -1,25 +1,26 @@
<% if @results.empty? %>
<p class="search_results_entry"><%= t 'geocoder.results.no_results' %></p>
<p class="search_results_entry inner12"><%= t 'geocoder.results.no_results' %></p>
<% else %>
<ul class='results-list'>
<% @results.each do |result| %>
<p class="search_results_entry"><%= result_to_html(result) %></p>
<li><p class="inner12 search_results_entry deemphasize"><%= result_to_html(result) %></p></li>
<% end %>
</ul>
<% if @more_params %>
<div id="search_more_<%= @more_params.hash %>">
<p class="search_results_entry">
<%= link_to t('geocoder.results.more_results'), "#" %>
</p>
<div class="inner12 search_results_entry">
<%= link_to t('geocoder.results.more_results'), "#", :class => "button" %>
</div>
<%= image_tag "searching.gif", :class => "search_searching" %>
</div>
<script type="text/javascript">
$("#search_more_<%= @more_params.hash %> .search_searching").hide();
$("#search_more_<%= @more_params.hash %> .search_searching").hide();
$("#search_more_<%= @more_params.hash %> a").click(function () {
$("#search_more_<%= @more_params.hash %> .search_results_entry").hide();
$("#search_more_<%= @more_params.hash %> .search_searching").show();
$("#search_more_<%= @more_params.hash %>").load("<%= raw url_for(@more_params) %>");
});
$("#search_more_<%= @more_params.hash %> a").click(function () {
$("#search_more_<%= @more_params.hash %> .search_results_entry").hide();
$("#search_more_<%= @more_params.hash %> .search_searching").show();
$("#search_more_<%= @more_params.hash %>").load("<%= raw url_for(@more_params) %>");
});
</script>
<% end %>
<% end %>

View file

@ -1,5 +1,5 @@
<% @sources.each do |source| %>
<p class="search_results_heading"><%= raw(t "geocoder.search.title.#{source}") %></p>
<h4><%= raw(t "geocoder.search.title.#{source}") %></h4>
<div class="search_results_entry" id="<%= "search_#{source}" %>">
<%= image_tag "searching.gif", :class => "search_searching" %>
</div>

View file

@ -1,11 +1,11 @@
<% if flash[:error] %>
<div id="error"><%= raw flash[:error] %></div>
<div id="error" class="flash"><%=image_tag("notice.png", :class => "small_icon", :border=>0)%><%= raw flash[:error] %></div>
<% end %>
<% if flash[:warning] %>
<div id="warning"><%= raw flash[:warning] %></div>
<div id="warning" class="flash"><%=image_tag("notice.png", :class => "small_icon", :border=>0)%><%= raw flash[:warning] %></div>
<% end %>
<% if flash[:notice] %>
<div id="notice"><%= raw flash[:notice] %></div>
<div id="notice" class="flash"><%=image_tag("notice.png", :class => "small_icon", :border=>0)%><%= raw flash[:notice] %></div>
<% end %>

View file

@ -6,66 +6,7 @@
<%= link_to(image_tag("osm_logo.png", :size => "16x16", :alt => t('layouts.logo.alt_text')), root_path) %>
<h1><%= t 'layouts.project_name.h1' %></h1>
</div>
<div id="content">
<%= render :partial => "layouts/flash", :locals => { :flash => flash } %>
<%= yield %>
</div>
<div id='top-bar'>
<span id="greeting">
<% if @user and @user.id %>
<span id="full-greeting"><%= raw(t 'layouts.welcome_user', :user_link => (link_to h(@user.display_name), user_path(:display_name => @user.display_name), :title => t('layouts.welcome_user_link_tooltip'))) %></span>
<span id="small-greeting"><%= link_to t('layouts.welcome_user_link_tooltip'), user_path(:display_name => @user.display_name) %></span> |
<%= yield :greeting %>
<%= render :partial => "layouts/inbox" %> |
<%= link_to t('layouts.logout'), logout_path(:session => request.session_options[:id], :referer => request.fullpath), {:id => 'logoutanchor', :title => t('layouts.logout_tooltip')}%>
<% else %>
<%= link_to t('layouts.log_in'), login_path(:referer => request.fullpath), {:id => 'loginanchor', :title => t('layouts.log_in_tooltip')} %> |
<%= link_to t('layouts.sign_up'), user_new_path, {:id => 'registeranchor', :title => t('layouts.sign_up_tooltip')} %>
<% end %>
</span>
<ul id="tabnav">
<li><%= link_to t('layouts.view'), root_path, {
:id => 'viewanchor',
:title => t('layouts.view_tooltip'),
:class => 'geolink llz layers'
} %></li>
<li><%= link_to h(t('layouts.edit')) + content_tag(:span, "▾", :class => "menuicon"), edit_path, {
:id => 'editanchor',
:title => t('javascripts.site.edit_tooltip'),
:data => { :minzoom => 13, :editor => preferred_editor },
:class => 'geolink llz object disabled'
} %></li>
<li><%= link_to t('layouts.history'), browse_changesets_path, {
:id => 'historyanchor',
:data => { :minzoom => 11 },
:title => t('javascripts.site.history_tooltip'),
:class => 'geolink bbox'
} %></li>
<li><%= link_to t('layouts.export'), export_path, {
:id => 'exportanchor',
:title => t('layouts.export_tooltip'),
:data => { :url => url_for(:controller => :export, :action => :start) },
:class => 'geolink llz layers'
} %></li>
</ul>
</div>
<div id="editmenu" class="menu">
<ul>
<% Editors::RECOMMENDED_EDITORS.each do |editor| %>
<li><%= link_to t('layouts.edit_with',
:editor => t("editor.#{editor}.description")),
edit_path(:editor => editor), {
:data => { :editor => editor },
:class => "geolink llz object"
} %></li>
<% end %>
<%= yield :editmenu %>
</ul>
</div>
<script type="text/javascript">
createMenu("editanchor", "editmenu", "left");
</script>
<div id="left">
<div id="left">
<div id="logo">
<%= link_to(image_tag("osm_logo.png",
:size => "120x120",
@ -141,6 +82,71 @@
</p>
</div>
</div>
<div id='top-bar'>
<ul class='secondary-actions' id="greeting">
<% if @user and @user.id %>
<li id="full-greeting"><%=link_to h(@user.display_name), user_path(:display_name => @user.display_name), :title => t('layouts.welcome_user_link_tooltip') %></li>
<li><%= yield :greeting %></li>
<li><%= render :partial => "layouts/inbox" %></li>
<li><%= link_to t('layouts.logout'), logout_path(:session => request.session_options[:id], :referer => request.fullpath), {:id => 'logoutanchor', :title => t('layouts.logout_tooltip')}%></li>
<% else %>
<li><%= link_to t('layouts.log_in'), login_path(:referer => request.fullpath), {:id => 'loginanchor', :title => t('layouts.log_in_tooltip')} %></li>
<li><%= link_to t('layouts.sign_up'), user_new_path, {:id => 'registeranchor', :title => t('layouts.sign_up_tooltip')} %></li>
<% end %>
</ul>
<ul id="tabnav">
<li><%= link_to t('layouts.view'), root_path, {
:id => 'viewanchor',
:title => t('layouts.view_tooltip'),
:class => 'geolink llz layers'
} %></li>
<li><%= link_to h(t('layouts.edit')) + content_tag(:span, "▾", :class => "menuicon"), edit_path, {
:id => 'editanchor',
:title => t('javascripts.site.edit_tooltip'),
:data => { :minzoom => 13, :editor => preferred_editor },
:class => 'geolink llz object disabled'
} %></li>
<li><%= link_to t('layouts.history'), browse_changesets_path, {
:id => 'historyanchor',
:data => { :minzoom => 11 },
:title => t('javascripts.site.history_tooltip'),
:class => 'geolink bbox'
} %></li>
<li><%= link_to t('layouts.export'), export_path, {
:id => 'exportanchor',
:title => t('layouts.export_tooltip'),
:data => { :url => url_for(:controller => :export, :action => :start) },
:class => 'geolink llz layers'
} %></li>
</ul>
</div>
<div id="editmenu" class="menu">
<ul>
<% Editors::RECOMMENDED_EDITORS.each do |editor| %>
<li><%= link_to t('layouts.edit_with',
:editor => t("editor.#{editor}.description")),
edit_path(:editor => editor), {
:data => { :editor => editor },
:class => "geolink llz object"
} %></li>
<% end %>
<%= yield :editmenu %>
</ul>
</div>
<script type="text/javascript">
createMenu("editanchor", "editmenu", "left");
</script>
<div class="wrapper">
<%= render :partial => "layouts/flash", :locals => { :flash => flash } %>
<% if content_for? :heading %>
<div class="content-heading">
<%= yield :heading %>
</div>
<% end %>
<div id="content" class="clearfix">
<%= yield %>
</div>
</div>
<% if defined?(PIWIK_LOCATION) and defined?(PIWIK_SITE) -%>
<noscript><p><img src="<%= request.protocol %><%= PIWIK_LOCATION %>/piwik.php?idsite=<%= PIWIK_SITE %>" style="border:0" alt="" /></p></noscript>
<% end -%>

View file

@ -1,7 +1,7 @@
<tr id="inbox-<%= message_summary.id %>" class="inbox-row<%= "-unread" if not message_summary.message_read? %>">
<td class="inbox-sender"><%= link_to h(message_summary.sender.display_name), :controller => 'user', :action => 'view', :display_name => message_summary.sender.display_name %></td>
<td class="inbox-subject"><%= link_to h(message_summary.title), :controller => 'message', :action => 'read', :message_id => message_summary.id %></td>
<td class="inbox-sent nowrap"><%= l message_summary.sent_on, :format => :friendly %></td>
<td class="inbox-sent"><%= l message_summary.sent_on, :format => :friendly %></td>
<td class="inbox-mark-unread"><%= button_to t('message.message_summary.unread_button'), {:controller => 'message', :action => 'mark', :message_id => message_summary.id, :mark => 'unread'}, { :remote => true } %></td>
<td class="inbox-mark-read"><%= button_to t('message.message_summary.read_button'), {:controller => 'message', :action => 'mark', :message_id => message_summary.id, :mark => 'read'}, { :remote => true } %></td>
<td><%= button_to t('message.message_summary.delete_button'), :controller => 'message', :action => 'delete', :message_id => message_summary.id, :referer => request.fullpath %></td>

View file

@ -1,6 +1,6 @@
<tr class="inbox-row">
<td class="inbox-sender"><%= link_to h(sent_message_summary.recipient.display_name), :controller => 'user', :action => 'view', :display_name => sent_message_summary.recipient.display_name %></td>
<td class="inbox-subject"><%= link_to h(sent_message_summary.title), :controller => 'message', :action => 'read', :message_id => sent_message_summary.id %></td>
<td class="inbox-sent nowrap"><%= l sent_message_summary.sent_on, :format => :friendly %></td>
<td class="inbox-sent"><%= l sent_message_summary.sent_on, :format => :friendly %></td>
<td><%= button_to t('message.sent_message_summary.delete_button'), :controller => 'message', :action => 'delete', :message_id => sent_message_summary.id, :referer => request.fullpath %></td>
</tr>

View file

@ -1,7 +1,8 @@
<div class='text-content'>
<h2><%= t'message.inbox.my_inbox'%>/<%= link_to t('message.inbox.outbox'), outbox_path(@user.display_name) %></h2>
<% content_for :heading do %>
<h2><%= t'message.inbox.my_inbox'%>/<%= link_to t('message.inbox.outbox'), outbox_path(@user.display_name) %></h2>
<% end %>
<%= render :partial => "message_count" %>
<h4><%= render :partial => "message_count" %></h4>
<% if @user.messages.size > 0 %>
<table class="messages">
@ -21,4 +22,3 @@
<% else %>
<div><%= raw(t'message.inbox.no_messages_yet', :people_mapping_nearby_link => link_to(t('message.inbox.people_mapping_nearby'), :controller => 'user', :action => 'view', :display_name => @user.display_name)) %></div>
<% end %>
</div>

View file

@ -1,4 +1,6 @@
<h2><%= raw(t'message.new.send_message_to', :name => link_to(h(@this_user.display_name), {:controller => 'user', :action => 'view', :display_name => @this_user.display_name})) %></h2>
<% content_for :heading do %>
<h2><%= raw(t'message.new.send_message_to', :name => link_to(h(@this_user.display_name), {:controller => 'user', :action => 'view', :display_name => @this_user.display_name})) %></h2>
<% end %>
<%= error_messages_for 'message' %>

View file

@ -1,2 +1,5 @@
<h1><%= t'message.no_such_message.heading' %></h1>
<% content_for :heading do %>
<h1><%= t'message.no_such_message.heading' %></h1>
<% end %>
<p><%= t'message.no_such_message.body' %></p>

View file

@ -1,6 +1,8 @@
<h2><%= raw(t'message.outbox.my_inbox', :inbox_link => link_to(t('message.outbox.inbox'), inbox_path(@user.display_name))) %>/<%= t'message.outbox.outbox' %></h2>
<% content_for :heading do %>
<h2><%= raw(t'message.outbox.my_inbox', :inbox_link => link_to(t('message.outbox.inbox'), inbox_path(@user.display_name))) %>/<%= t'message.outbox.outbox' %></h2>
<% end %>
<p><%= t'message.outbox.messages', :count => @user.sent_messages.size %></p>
<h4><%= t'message.outbox.messages', :count => @user.sent_messages.size %></h4>
<% if @user.sent_messages.size > 0 %>
<table class="messages">

View file

@ -1,37 +1,36 @@
<div class='text-content'>
<% if @user == @message.recipient %>
<% content_for :heading do %>
<h2><%= h(@message.title) %></h2>
<% end %>
<div class='info-line'>
<%= user_thumbnail_tiny @message.sender %>
<%= link_to h(@message.sender.display_name), :controller => 'user', :action => 'view', :display_name => @message.sender.display_name %></td>
<div class='right'>
<%= l @message.sent_on, :format => :friendly %>
<%= button_to t('message.read.reply_button'), :controller => 'message', :action => 'reply', :message_id => @message.id %>
<%= button_to t('message.read.unread_button'), :controller => 'message', :action => 'mark', :message_id => @message.id, :mark => 'unread' %>
</div>
<div class='info-line clearfix'>
<%= user_thumbnail_tiny @message.sender %>
<%= link_to h(@message.sender.display_name), :controller => 'user', :action => 'view', :display_name => @message.sender.display_name %></td>
<div class='right'>
<%= l @message.sent_on, :format => :friendly %>
<%= button_to t('message.read.reply_button'), :controller => 'message', :action => 'reply', :message_id => @message.id %>
<%= button_to t('message.read.unread_button'), :controller => 'message', :action => 'mark', :message_id => @message.id, :mark => 'unread' %>
</div>
</div>
<%= @message.body.to_html %></td>
<%= @message.body.to_html %></td>
<%= link_to t('message.read.back_to_inbox'), :controller => 'message', :action => 'inbox', :display_name => @user.display_name %>
<%= link_to t('message.read.back_to_inbox'), :controller => 'message', :action => 'inbox', :display_name => @user.display_name %>
<% else %>
<h2><%= h(@message.title) %></h2>
<h2><%= h(@message.title) %></h2>
<div class='info-line'>
<%= user_thumbnail_tiny @message.recipient %>
<%= link_to h(@message.recipient.display_name), :controller => 'user', :action => 'view', :display_name => @message.recipient.display_name %></td>
<div class='right'>
<%= l @message.sent_on, :format => :friendly %>
</div>
<div class='info-line clearfix'>
<%= user_thumbnail_tiny @message.recipient %>
<%= link_to h(@message.recipient.display_name), :controller => 'user', :action => 'view', :display_name => @message.recipient.display_name %></td>
<div class='right'>
<%= l @message.sent_on, :format => :friendly %>
</div>
</div>
<%= @message.body.to_html %></td>
<%= @message.body.to_html %></td>
<%= link_to t('message.read.back_to_outbox'), :controller => 'message', :action => 'outbox', :display_name => @user.display_name %>
<%= link_to t('message.read.back_to_outbox'), :controller => 'message', :action => 'outbox', :display_name => @user.display_name %>
<% end %>
</div>
<% end %>

View file

@ -1,5 +1,8 @@
<h1>Authorize access to your account</h1>
<p><%= raw t('oauth.oauthorize.request_access', :app_name => link_to(@token.client_application.name, @token.client_application.url), :user => link_to(@user.display_name, :controller => :user, :action => :view, :display_name => @user.display_name)) %></p>
<% content_for :heading do %>
<h1>Authorize access to your account</h1>
<p><%= raw t('oauth.oauthorize.request_access', :app_name => link_to(@token.client_application.name, @token.client_application.url), :user => link_to(@user.display_name, :controller => :user, :action => :view, :display_name => @user.display_name)) %></p>
<% end %>
<%= form_tag authorize_url do %>
<%= hidden_field_tag "oauth_token", @token.token %>
<%- if params[:oauth_callback] -%>

View file

@ -1 +1,3 @@
<h1>You have disallowed this request</h1>
<% content_for :heading do %>
<h1>You have disallowed this request</h1>
<% end %>

View file

@ -1,4 +1,6 @@
<h1>You have allowed this request</h1>
<% content_for :heading do %>
<h1>You have allowed this request</h1>
<% end %>
<% if @token.oob? and not @token.oauth10? %>
<p>The verification code is <%= @token.verifier %></p>

View file

@ -1,4 +1,7 @@
<h1><%= t'oauth_clients.edit.title' %></h1>
<% content_for :heading do %>
<h1><%= t'oauth_clients.edit.title' %></h1>
<% end %>
<%= form_for @client_application, :url => oauth_client_path(@client_application.user.display_name, @client_application), :html => { :method => :put } do |f| %>
<%= render :partial => "form", :locals => { :f => f } %>
<br/>

View file

@ -1,4 +1,7 @@
<h1><%= t'oauth_clients.index.title' %></h1>
<% content_for :heading do %>
<h1><%= t'oauth_clients.index.title' %></h1>
<% end %>
<% unless @tokens.empty? %>
<h3><%= t'oauth_clients.index.my_tokens' %></h3>
<p><%= t'oauth_clients.index.list_tokens' %></p>
@ -16,7 +19,7 @@
<% end %>
</td>
<% end %>
<% end %>
<% end %>
</table>
<% end %>
<h3><%= t'oauth_clients.index.my_apps' %></h3>
@ -30,4 +33,4 @@
<% end %>
<% end %>
<% end %>
<h3><%= link_to t('oauth_clients.index.register_new'), :action => :new %></h3>
<h3><%= link_to t('oauth_clients.index.register_new'), :action => :new %></h3>

View file

@ -1,6 +1,9 @@
<h1><%= t'oauth_clients.new.title' %></h1>
<% content_for :heading do %>
<h1><%= t'oauth_clients.new.title' %></h1>
<% end %>
<%= form_for :client_application, :url => { :action => :create } do |f| %>
<%= render :partial => "form", :locals => { :f => f } %>
<br />
<%= submit_tag t('oauth_clients.new.submit') %>
<% end %>
<% end %>

View file

@ -1,4 +1,6 @@
<h1><%= t('oauth_clients.show.title', :app_name => @client_application.name) %></h1>
<% content_for :heading do %>
<h1><%= t('oauth_clients.show.title', :app_name => @client_application.name) %></h1>
<% end %>
<p>
<b><%= t'oauth_clients.show.key' %></b> <%=@client_application.key %>
</p>

View file

@ -1,5 +1,8 @@
<% @title = t 'redaction.edit.title' %>
<h1><%= t 'redaction.edit.heading' %></h1>
<% content_for :heading do %>
<h1><%= t 'redaction.edit.heading' %></h1>
<% end %>
<%= form_for(@redaction) do |f| %>
<%= f.error_messages %>

View file

@ -1,5 +1,7 @@
<% @title = t('redaction.index.title') %>
<h1><%= t('redaction.index.heading') %></h1>
<% content_for :heading do %>
<h1><%= t('redaction.index.heading') %></h1>
<% end %>
<% unless @redactions.empty? %>
<%= render :partial => 'redactions' %>

View file

@ -1,5 +1,7 @@
<% @title = t 'redaction.new.title' %>
<h1><%= t 'redaction.new.heading' %></h1>
<% content_for :heading do %>
<h1><%= t 'redaction.new.heading' %></h1>
<% end %>
<%= form_for(@redaction) do |f| %>
<%= f.error_messages %>

View file

@ -1,5 +1,7 @@
<% @title = t('redaction.show.title') %>
<h1><%= t('redaction.show.heading', :title => @redaction.title) %></h1>
<% content_for :heading do %>
<h1><%= t('redaction.show.heading', :title => @redaction.title) %></h1>
<% end %>
<p>
<b><%= t 'redaction.show.user' %></b>

View file

@ -1,5 +1,5 @@
<% if @user and !@user.home_lon.nil? and !@user.home_lat.nil? %>
<% content_for :greeting do %>
<%= link_to t("layouts.home"), "#", :class => "set_position", :data => { :lat => @user.home_lat, :lon => @user.home_lon, :zoom => 15 }, :title => t("layouts.home_tooltip") %> |
<%= link_to t("layouts.home"), "#", :class => "set_position", :data => { :lat => @user.home_lat, :lon => @user.home_lon, :zoom => 15 }, :title => t("layouts.home_tooltip") %>
<% end %>
<% end %>

View file

@ -1,10 +1,8 @@
<div id="sidebar">
<table class="sidebar_title" width="100%">
<tr>
<td id="sidebar_title"><% t 'site.sidebar.search_results' %></td>
<td id="sidebar_close"><a class="sidebar_close" href="#"><%= t 'site.sidebar.close' %></a></td>
</tr>
</table>
<div class="sidebar_heading">
<h4 id="sidebar_title"><% t 'site.sidebar.search_results' %></h4>
<div id="sidebar_close"><a class="sidebar_close" href="#"><%= t 'site.sidebar.close' %></a></div>
</div>
<div id="sidebar_content">
</div>
</div>

View file

@ -1,35 +1,39 @@
<% content_for :heading do %>
<% if @locale == 'en' %>
<!-- Maybe ease foreigners back to their native page -->
<% if t('license_page.legal_babble', :locale => I18n.locale) != t('license_page.legal_babble', :locale => :en) %>
<h2><%= t 'license_page.native.title' %></h2>
<p>
<%= raw t 'license_page.native.text',
:native_link => link_to(t('license_page.native.native_link'),
:controller => 'site',
:action => 'copyright',
:copyright_locale => nil),
:mapping_link => link_to(t('license_page.native.mapping_link'),
:controller => 'site',
:action => 'index') %>
</p>
<hr />
<% end %>
<% else %>
<!-- Maybe note that this page has been translated -->
<% if t('license_page.legal_babble', :locale => @locale) != t('license_page.legal_babble', :locale => :en) %>
<h2><%= t 'license_page.foreign.title' %></h2>
<p>
<%= raw t 'license_page.foreign.text',
:english_original_link => link_to(t('license_page.foreign.english_link'),
:controller => 'site',
:action => 'copyright',
:copyright_locale => 'en') %>
</p>
<hr />
<% end %>
<% end %>
<h2><%= t "license_page.legal_babble.title_html", :locale => @locale %></h2>
<% if t('license_page.legal_babble', :locale => I18n.locale) != t('license_page.legal_babble', :locale => :en) %>
<h2><%= t 'license_page.native.title' %></h2>
<p>
<%= raw t 'license_page.native.text',
:native_link => link_to(t('license_page.native.native_link'),
:controller => 'site',
:action => 'copyright',
:copyright_locale => nil),
:mapping_link => link_to(t('license_page.native.mapping_link'),
:controller => 'site',
:action => 'index') %>
</p>
<hr />
<% end %>
<% else %>
<!-- Maybe note that this page has been translated -->
<% if t('license_page.legal_babble', :locale => @locale) != t('license_page.legal_babble', :locale => :en) %>
<h2><%= t 'license_page.foreign.title' %></h2>
<p>
<%= raw t 'license_page.foreign.text',
:english_original_link => link_to(t('license_page.foreign.english_link'),
:controller => 'site',
:action => 'copyright',
:copyright_locale => 'en') %>
</p>
<hr />
<% end %>
<% end %>
<h2><%= t "license_page.legal_babble.title_html", :locale => @locale %></h2>
<% end %>
<p><%= t "license_page.legal_babble.intro_1_html", :locale => @locale %></p>
<p><%= t "license_page.legal_babble.intro_2_html", :locale => @locale %></p>
@ -42,8 +46,6 @@
<p><%= image_tag("attribution_example.png",
:alt => t('license_page.legal_babble.attribution_example.alt'),
:border => 0,
:width => 193,
:height => 69,
:title => t('license_page.legal_babble.attribution_example.title')) %>
<h3><%= t "license_page.legal_babble.more_title_html", :locale => @locale %></h3>
@ -66,4 +68,4 @@
<h3><%= t "license_page.legal_babble.infringement_title_html", :locale => @locale %></h3>
<p><%= t "license_page.legal_babble.infringement_1_html", :locale => @locale %></p>
<p><%= t "license_page.legal_babble.infringement_2_html", :locale => @locale %></p>
<p><%= t "license_page.legal_babble.infringement_2_html", :locale => @locale %></p>

View file

@ -10,21 +10,21 @@
<% end %>
</td>
<td class="<%= cl %>"><%= link_to trace.name, {:controller => 'trace', :action => 'view', :display_name => trace.user.display_name, :id => trace.id} %>
<span class="trace_summary" title="<%= trace.timestamp %>"> ...
<% if trace.inserted %>
<span class="trace_summary" title="<%= trace.timestamp %>"> ...
<% if trace.inserted %>
(<%= t'trace.trace.count_points', :count => trace.size.to_s.gsub(/(\d)(?=(\d{3})+$)/,'\1,') %>)
<% end %>
<% end %>
... <%= t'trace.trace.ago', :time_in_words_ago => time_ago_in_words(trace.timestamp) %></span>
<%= link_to t('trace.trace.more'), {:controller => 'trace', :action => 'view', :display_name => trace.user.display_name, :id => trace.id}, {:title => t('trace.trace.trace_details')} %> /
<%= link_to_if trace.inserted?, t('trace.trace.map'), {:controller => 'site', :action => 'index', :lat => trace.latitude, :lon => trace.longitude, :zoom => 14}, {:title => t('trace.trace.view_map')} %> /
<%= link_to t('trace.trace.edit'), {:controller => 'site', :action => 'edit', :gpx => trace.id }, {:title => t('trace.trace.edit_map')} %>
<span class="trace_<%= trace.visibility %>"><%= t('trace.trace.' + trace.visibility) %></span>
<br />
<%= h(trace.description) %>
<%= t('trace.list.description') %>
<br />
<%= t'trace.trace.by' %> <%=link_to h(trace.user.display_name), {:controller => 'user', :action => 'view', :display_name => trace.user.display_name} %>
<% if !trace.tags.empty? %>
<%= t'trace.trace.in' %>
<%= t'trace.trace.in' %>
<%= raw(trace.tags.collect { |tag| link_to_tag tag.tag }.join(", ")) %>
<% end %>
</td>

View file

@ -1,7 +1,6 @@
<% content_for :optionals do %>
<div class="optionalbox">
<h1><%= t'trace.trace_optionals.tags' %></h1>
<br />
<h4><%= t'trace.trace_optionals.tags' %></h4>
<% if @all_tags %>
<% @all_tags.each do |tag| %>
<%= link_to_tag tag %><br />

View file

@ -1,4 +1,6 @@
<h1><%= t'trace.create.upload_trace' %></h1>
<% content_for :heading do %>
<h1><%= t'trace.create.upload_trace' %></h1>
<% end %>
<%= error_messages_for 'trace' %>

View file

@ -1,4 +1,6 @@
<h2><%= t 'trace.edit.heading', :name => h(@trace.name) %></h2>
<% content_for :heading do %>
<h2><%= t 'trace.edit.heading', :name => h(@trace.name) %></h2>
<% end %>
<img src="<%= url_for :controller => 'trace', :action => 'picture', :id => @trace.id, :display_name => @trace.user.display_name %>">
@ -8,7 +10,7 @@
<tr>
<td><%= t'trace.edit.filename' %></td>
<td><%= @trace.name %> (<%= link_to t('trace.edit.download'), :controller => 'trace', :action => 'data', :id => @trace.id %>)</td>
</tr>
</tr>
<tr>
<td><%= t'trace.edit.uploaded_at' %></td>
<td><%= l @trace.timestamp, :format => :friendly %></td>

View file

@ -1,25 +1,27 @@
<h1><%= h(@title) %></h1>
<% content_for :heading do %>
<h1><%= h(@title) %></h1>
<ul class='secondary-actions clearfix'>
<li><%= t('trace.list.description') %></li>
<li><%= rss_link_to :action => 'georss', :display_name => @display_name, :tag => @tag %></li>
<li><%= link_to t('trace.trace_header.upload_trace'), :action => 'create' %></li>
<% if @tag %>
<li><%= link_to t('trace.trace_header.see_all_traces'), :controller => 'trace', :action => 'list', :display_name => nil, :tag => nil, :page => nil %></li>
<li><%= link_to t('trace.trace_header.see_your_traces'), :action => 'mine', :tag => nil, :page => nil %></li>
<% else %>
<% if @display_name %>
<li><%= link_to t('trace.trace_header.see_all_traces'), :controller => 'trace', :action => 'list', :display_name => nil, :tag => nil, :page => nil %></li>
<% end %>
<%= unless_user(@target_user, :li) do %>
<%= link_to t('trace.trace_header.see_your_traces'), :action => 'mine', :tag => nil, :page => nil %>
<% end %>
<% end %>
</ul>
<% end %>
<% content_for :head do %>
<%= auto_discovery_link_tag :atom, :action => 'georss', :display_name => @display_name, :tag => @tag %>
<% end %>
<p>
<%= rss_link_to :action => 'georss', :display_name => @display_name, :tag => @tag %>
| <%= link_to t('trace.trace_header.upload_trace'), :action => 'create' %>
<% if @tag %>
| <%= link_to t('trace.trace_header.see_all_traces'), :controller => 'trace', :action => 'list', :display_name => nil, :tag => nil, :page => nil %>
| <%= link_to t('trace.trace_header.see_your_traces'), :action => 'mine', :tag => nil, :page => nil %>
<% else %>
<% if @display_name %>
| <%= link_to t('trace.trace_header.see_all_traces'), :controller => 'trace', :action => 'list', :display_name => nil, :tag => nil, :page => nil %>
<% end %>
<%= unless_user(@target_user, :span) do %>
| <%= link_to t('trace.trace_header.see_your_traces'), :action => 'mine', :tag => nil, :page => nil %>
<% end %>
<% end %>
</p>
<% if @traces.size > 0 %>
<%= render :partial => 'trace_paging_nav' %>
@ -33,7 +35,7 @@
<%= render :partial => 'trace_paging_nav' %>
<% else %>
<p><%= t 'trace.list.empty_html', :upload_link => trace_create_path %></p>
<h4><%= t 'trace.list.empty_html', :upload_link => trace_create_path %></h4>
<% end %>
<%= render :partial => 'trace_optionals' %>

View file

@ -1,2 +1,5 @@
<% content_for :heading do %>
<h2><%= t 'trace.offline.heading' %></h2>
<% end %>
<p><%= t 'trace.offline.message' %></p>

View file

@ -1,4 +1,6 @@
<h2><%= t 'trace.view.heading', :name => h(@trace.name) %></h2>
<% content_for :heading do %>
<h2><%= t 'trace.view.heading', :name => h(@trace.name) %></h2>
<% end %>
<% if STATUS != :gpx_offline %>
<% if @trace.inserted %>
@ -12,7 +14,7 @@
<tr>
<td><%= t'trace.view.filename' %></td>
<td><%= @trace.name %> (<%= link_to t('trace.view.download'), :controller => 'trace', :action => 'data', :id => @trace.id %>)</td>
</tr>
</tr>
<tr>
<td><%= t'trace.view.uploaded' %></td>
<td><%= l @trace.timestamp, :format => :friendly %></td>

View file

@ -1,4 +1,4 @@
<tr>
<div class='contact-activity clearfix'>
<%
user_data = {
:lon => contact.home_lon,
@ -10,41 +10,41 @@
<%= content_tag "td", :rowspan => 3, :data => {:user => user_data} do %>
<%= user_thumbnail contact %>
<% end %>
<td>
<%= link_to h(contact.display_name), :controller => 'user', :action => 'view', :display_name => contact.display_name %>
<% if @this_user.home_lon and @this_user.home_lat and contact.home_lon and contact.home_lat %>
<% distance = @this_user.distance(contact) %>
<% if distance < 1 %>
(<%= t 'user.view.m away', :count => (distance * 1000).round %>)
<% else %>
(<%= t 'user.view.km away', :count => distance.round %>)
<div class='activity-details'>
<p class='deemphasize'>
<%= link_to h(contact.display_name), :controller => 'user', :action => 'view', :display_name => contact.display_name %>
<% if @this_user.home_lon and @this_user.home_lat and contact.home_lon and contact.home_lat %>
<% distance = @this_user.distance(contact) %>
<% if distance < 1 %>
(<%= t 'user.view.m away', :count => (distance * 1000).round %>)
<% else %>
(<%= t 'user.view.km away', :count => distance.round %>)
<% end %>
<% end %>
<% end %>
</td>
</tr>
<tr>
<td>
<% changeset = contact.changesets.first %>
<% if changeset %>
<%= t('user.view.latest edit', :ago => t('user.view.ago', :time_in_words_ago => time_ago_in_words(changeset.created_at))) %>
<% comment = changeset.tags['comment'].to_s != '' ? changeset.tags['comment'] : t('changeset.changeset.no_comment') %>
"<%= link_to(comment,
{:controller => 'browse', :action => 'changeset', :id => changeset.id},
{:title => t('changeset.changeset.view_changeset_details')})
%>"
<% else %>
<%= t'changeset.changeset.no_edits' %>
<% end %>
</td>
</tr>
<tr>
<td>
<%= link_to t('user.view.send message'), :controller => 'message', :action => 'new', :display_name => contact.display_name %>
|
<% if @user.is_friends_with?(contact) %>
<%= link_to t('user.view.remove as friend'), remove_friend_path(:display_name => contact.display_name, :referer => request.fullpath), :method => :post %>
<% else %>
<%= link_to t('user.view.add as friend'), make_friend_path(:display_name => contact.display_name, :referer => request.fullpath), :method => :post %>
<% end %>
</td>
</tr>
</p>
<p>
<% changeset = contact.changesets.first %>
<% if changeset %>
<%= t('user.view.latest edit', :ago => t('user.view.ago', :time_in_words_ago => time_ago_in_words(changeset.created_at))) %>
<% comment = changeset.tags['comment'].to_s != '' ? changeset.tags['comment'] : t('changeset.changeset.no_comment') %>
"<%= link_to(comment,
{:controller => 'browse', :action => 'changeset', :id => changeset.id},
{:title => t('changeset.changeset.view_changeset_details')})
%>"
<% else %>
<%= t'changeset.changeset.no_edits' %>
<% end %>
</p>
<ul class='secondary-actions clearfix deemphasize'>
<li><%= link_to t('user.view.send message'), :controller => 'message', :action => 'new', :display_name => contact.display_name %></li>
<li>
<% if @user.is_friends_with?(contact) %>
<%= link_to t('user.view.remove as friend'), remove_friend_path(:display_name => contact.display_name, :referer => request.fullpath), :method => :post %>
<% else %>
<%= link_to t('user.view.add as friend'), make_friend_path(:display_name => contact.display_name, :referer => request.fullpath), :method => :post %>
<% end %>
</li>
</ul>
</div>
</div>

View file

@ -1,7 +1,10 @@
<h2><%= t 'user.account.my settings' %></h2>
<%= link_to t('user.account.return to profile'), :controller => 'user', :action => 'view', :display_name => @user.display_name %> |
<%= link_to t('user.view.oauth settings'), :controller => 'oauth_clients', :action => 'index' %>
<% content_for :heading do %>
<h2><%= t 'user.account.my settings' %></h2>
<ul class='secondary-actions clearfix'>
<li><%= link_to t('user.account.return to profile'), :controller => 'user', :action => 'view', :display_name => @user.display_name %></li>
<li><%= link_to t('user.view.oauth settings'), :controller => 'oauth_clients', :action => 'index' %></li>
</ul>
<% end %>
<%= error_messages_for 'user' %>
<%= form_for :user, :html => { :multipart => true } do |f| %>
@ -86,7 +89,7 @@
</td>
<td class="accountImage">
<%= user_image @user %>
<table>
<table class="accountImage-options">
<% if @user.image.file? %>
<tr>
<td><%= radio_button_tag "image_action", "keep", !@user.image_use_gravatar %></td>
@ -130,7 +133,7 @@
<% content_for :head do %>
<%= javascript_include_tag "user" %>
<% end %>
<%= content_tag "div", "", :id => "map", :class => "user_map set_location" %>
<%= content_tag "div", "", :id => "map", :class => "content_map settings_map set_location" %>
</td>
</tr>
@ -146,4 +149,4 @@
<h2><%= t 'user.account.public editing note.heading' %></h2>
<%= raw t 'user.account.public editing note.text' %>
<%= button_to t('user.account.make edits public button'), :action => :go_public %>
<% end %>
<% end %>

View file

@ -1,4 +1,6 @@
<h1><%= t 'user.new.heading' %></h1>
<% content_for :heading do %>
<h1><%= t 'user.new.heading' %></h1>
<% end %>
<p><%= t 'user.new.no_auto_account_create' %></p>

View file

@ -2,7 +2,9 @@
$("#content").hide();
</script>
<h1><%= t 'user.confirm.heading' %></h1>
<% content_for :heading do %>
<h1><%= t 'user.confirm.heading' %></h1>
<% end %>
<p><%= t 'user.confirm.press confirm button' %></p>

View file

@ -2,7 +2,9 @@
$("#content").hide();
</script>
<h1><%= t 'user.confirm_email.heading' %></h1>
<% content_for :heading do %>
<h1><%= t 'user.confirm_email.heading' %></h1>
<% end %>
<p><%= t 'user.confirm_email.press confirm button' %></p>

Some files were not shown because too many files have changed in this diff Show more