Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Open sidebar
Yasset Perez
pride-web
Commits
8e83bc08
Commit
8e83bc08
authored
Sep 12, 2018
by
shabai517
Browse files
modify base URL
parent
6077e06e
Changes
19
Hide whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
64 additions
and
46 deletions
+64
-46
src/components/archive/Archive.vue
src/components/archive/Archive.vue
+6
-6
src/components/archive/Dataset.vue
src/components/archive/Dataset.vue
+4
-3
src/components/archive/Nav.vue
src/components/archive/Nav.vue
+3
-2
src/components/documentation/MarkdownPage.vue
src/components/documentation/MarkdownPage.vue
+3
-2
src/components/landingpage/Citation.vue
src/components/landingpage/Citation.vue
+2
-1
src/components/landingpage/LandingPage.vue
src/components/landingpage/LandingPage.vue
+1
-1
src/components/landingpage/Nav.vue
src/components/landingpage/Nav.vue
+5
-3
src/components/landingpage/News.vue
src/components/landingpage/News.vue
+2
-1
src/components/landingpage/PrideDocs.vue
src/components/landingpage/PrideDocs.vue
+2
-1
src/components/landingpage/Resource.vue
src/components/landingpage/Resource.vue
+2
-1
src/components/landingpage/Statistics.vue
src/components/landingpage/Statistics.vue
+5
-4
src/components/landingpage/StatisticsDetails.vue
src/components/landingpage/StatisticsDetails.vue
+8
-7
src/components/landingpage/Tools.vue
src/components/landingpage/Tools.vue
+2
-1
src/components/landingpage/statistics_chart/Line.vue
src/components/landingpage/statistics_chart/Line.vue
+0
-2
src/components/landingpage/statistics_chart/LineSimple.vue
src/components/landingpage/statistics_chart/LineSimple.vue
+0
-2
src/components/peptidome/Nav.vue
src/components/peptidome/Nav.vue
+5
-3
src/components/peptidome/PeptideDetails.vue
src/components/peptidome/PeptideDetails.vue
+3
-1
src/components/peptidome/PeptideSearch.vue
src/components/peptidome/PeptideSearch.vue
+2
-1
src/components/peptidome/Peptidome.vue
src/components/peptidome/Peptidome.vue
+9
-4
No files found.
src/components/archive/Archive.vue
View file @
8e83bc08
...
...
@@ -168,6 +168,7 @@
<
script
>
import
NavBar
from
'
@/components/archive/Nav
'
import
store
from
"
@/store/store.js
"
var
paramsFromLandingPage
=
''
;
export
default
{
name
:
'
archive
'
,
...
...
@@ -182,11 +183,11 @@
querySpecificFacetsLoading
:
false
,
highlightKeyword
:
''
,
HighlightKeywordSensitive
:
false
,
facetsURL
:
'
http://ves-pg-41:9020
/facet/projects
'
,
searchConfigURL
:
'
/static/config/facets/config.json
'
,
projectItemsConfigURL
:
'
/static/config/projectItems/config.json
'
,
queryArchiveProjectListApi
:
'
http://ves-pg-41:9020
/search/projects
'
,
autoCompleteApi
:
"
http://ves-pg-41:9020
/search/autocomplete?keyword=
"
,
facetsURL
:
this
.
$store
.
state
.
baseApiURL
+
'
/facet/projects
'
,
searchConfigURL
:
this
.
$store
.
state
.
baseURL
+
'
/static/config/facets/config.json
'
,
projectItemsConfigURL
:
this
.
$store
.
state
.
baseURL
+
'
/static/config/projectItems/config.json
'
,
queryArchiveProjectListApi
:
this
.
$store
.
state
.
baseApiURL
+
'
/search/projects
'
,
autoCompleteApi
:
this
.
$store
.
state
.
baseApiURL
+
'
/search/autocomplete?keyword=
'
,
containItemSearch
:
''
,
fieldSelectors
:[],
currentPage
:
1
,
...
...
@@ -328,7 +329,6 @@
this
.
publicaitionList
=
[];
this
.
loading
=
true
;
let
query
=
q
||
this
.
$route
.
query
;
console
.
log
(
'
queryArchiveProjectList
'
);
query
.
dateGap
=
'
+1YEAR
'
;
let
pageSizeFound
=
false
;
for
(
let
i
in
query
){
...
...
src/components/archive/Dataset.vue
View file @
8e83bc08
...
...
@@ -392,6 +392,7 @@
<
script
>
import
NavBar
from
'
@/components/landingpage/Nav
'
import
store
from
"
@/store/store.js
"
export
default
{
name
:
'
archive
'
,
data
(){
...
...
@@ -412,13 +413,13 @@
experimentTypes
:[],
softwares
:[],
modification
:[],
queryArchiveProjectApi
:
'
http://ves-pg-41:9020
/projects/
'
,
queryArchiveProjectFilesApi
:
'
http://ves-pg-41:9020
/projects/
'
,
queryArchiveProjectApi
:
this
.
$store
.
state
.
baseApiURL
+
'
/projects/
'
,
queryArchiveProjectFilesApi
:
this
.
$store
.
state
.
baseApiURL
+
'
/projects/
'
,
queryAssayApi
:
'
https://www.ebi.ac.uk:443/pride/ws/archive/assay/list/project/
'
,
europepmcApi
:
'
http://europepmc.org/abstract/MED/
'
,
reactomeApi
:
'
https://reactome.org/AnalysisService/identifiers/url?pageSize=1&page=1
'
,
viewInreactomeApi
:
'
https://www.ebi.ac.uk/pride/ws/archive/protein/list/assay/
'
,
similarityApi
:
'
http://ves-pg-41:9020
/projects/
'
,
similarityApi
:
this
.
$store
.
state
.
baseApiURL
+
'
/projects/
'
,
contactors
:[],
similarProjects
:[],
similarityLoading
:
false
,
...
...
src/components/archive/Nav.vue
View file @
8e83bc08
...
...
@@ -120,6 +120,7 @@
</div>
</
template
>
<
script
>
import
store
from
"
@/store/store.js
"
export
default
{
data
()
{
return
{
...
...
@@ -127,7 +128,7 @@
selected
:
'
archive
'
,
title
:
''
,
subnav
:[],
landingPageJsonURL
:
'
/static/landingPage/landing_page.json
'
landingPageJsonURL
:
this
.
$store
.
state
.
baseURL
+
'
/static/landingPage/landing_page.json
'
}
},
methods
:{
...
...
@@ -200,7 +201,7 @@
border
:
0
!important
;
}
.ebi-masthead
{
background-image
:
url('/static/image/hero-beta-banner.png')
;
background-image
:
url('
../../..
/static/image/hero-beta-banner.png')
;
}
.ebi-masthead
nav
ul
.menu
li
{
border-right
:
1px
solid
rgb
(
248
,
248
,
248
,
0.7
);
...
...
src/components/documentation/MarkdownPage.vue
View file @
8e83bc08
...
...
@@ -23,12 +23,13 @@
</
template
>
<
script
>
import
NavBar
from
'
@/components/landingpage/Nav
'
import
store
from
"
@/store/store.js
"
export
default
{
data
()
{
return
{
source
:
''
,
activeName
:
''
,
landingPageJsonURL
:
'
/static/landingPage/landing_page.json
'
,
landingPageJsonURL
:
this
.
$store
.
state
.
baseURL
+
'
/static/landingPage/landing_page.json
'
,
tableList
:[],
/*
anchorAttrs: {
...
...
@@ -66,7 +67,7 @@
this
.
source
=
''
;
this
.
activeName
=
''
;
this
.
tableList
=
[];
this
.
markdownURL
=
'
/static/markdown/
'
+
subpage
+
'
/content.md
'
;
this
.
markdownURL
=
this
.
$store
.
state
.
baseURL
+
'
/static/markdown/
'
+
subpage
+
'
/content.md
'
;
this
.
$http
.
get
(
this
.
markdownURL
)
.
then
(
function
(
res
){
...
...
src/components/landingpage/Citation.vue
View file @
8e83bc08
...
...
@@ -8,11 +8,12 @@
</
template
>
<
script
>
import
NavBar
from
'
@/components/landingpage/Nav
'
import
store
from
"
@/store/store.js
"
export
default
{
data
()
{
return
{
source
:
''
,
markdownURL
:
'
/static/markdown/citationPage/content.md
'
,
markdownURL
:
this
.
$store
.
state
.
baseURL
+
'
/static/markdown/citationPage/content.md
'
,
}
},
components
:
{
...
...
src/components/landingpage/LandingPage.vue
View file @
8e83bc08
...
...
@@ -32,7 +32,7 @@
News
},
mounted
:
function
(){
console
.
log
(
'
this.$router
'
,
this
.
$router
);
}
}
</
script
>
...
...
src/components/landingpage/Nav.vue
View file @
8e83bc08
...
...
@@ -6,7 +6,7 @@
<!-- local-title -->
<div
class=
"columns medium-5"
id=
"local-title"
>
<div
class=
"pride-logo"
>
<a
href=
"../../"
title=
"Back to [service-name] homepage"
><img
src=
"
/static/logo/PRIDE_logo.png
"
alt=
"logo"
width=
"500"
></a>
<a
href=
"../../"
title=
"Back to [service-name] homepage"
><img
:
src=
"
logoURL
"
alt=
"logo"
width=
"500"
></a>
</div>
</div>
<!-- /local-title -->
...
...
@@ -121,6 +121,7 @@
</div>
</
template
>
<
script
>
import
store
from
"
@/store/store.js
"
export
default
{
data
()
{
return
{
...
...
@@ -128,7 +129,8 @@
selected
:
'
archive
'
,
title
:
''
,
subnav
:[],
landingPageJsonURL
:
'
/static/landingPage/landing_page.json
'
landingPageJsonURL
:
this
.
$store
.
state
.
baseURL
+
'
/static/landingPage/landing_page.json
'
,
logoURL
:
this
.
$store
.
state
.
baseURL
+
'
/static/logo/PRIDE_logo.png
'
,
}
},
methods
:{
...
...
@@ -204,7 +206,7 @@
border
:
0
!important
;
}
.ebi-masthead
{
background-image
:
url('/static/image/hero-beta-banner.png')
;
background-image
:
url('
../../..
/static/image/hero-beta-banner.png')
;
}
.ebi-masthead
nav
ul
.menu
li
{
border-right
:
1px
solid
rgb
(
248
,
248
,
248
,
0.7
);
...
...
src/components/landingpage/News.vue
View file @
8e83bc08
...
...
@@ -87,6 +87,7 @@
</
template
>
<
script
>
import
Timeline
from
'
vue-tweet-embed/timeline
'
import
store
from
"
@/store/store.js
"
export
default
{
components
:
{
Timeline
...
...
@@ -113,7 +114,7 @@
linefour
:
''
,
button
:{}
},
landingPageJsonURL
:
'
/static/landingPage/landing_page.json
'
landingPageJsonURL
:
this
.
$store
.
state
.
baseURL
+
'
/static/landingPage/landing_page.json
'
}
},
methods
:{
...
...
src/components/landingpage/PrideDocs.vue
View file @
8e83bc08
...
...
@@ -32,11 +32,12 @@
</
template
>
<
script
>
import
NavBar
from
'
@/components/landingpage/Nav
'
import
store
from
"
@/store/store.js
"
export
default
{
data
()
{
return
{
source
:
''
,
markdownURL
:
'
/static/markdown/documentationPage/content.md
'
,
markdownURL
:
this
.
$store
.
state
.
baseURL
+
'
/static/markdown/documentationPage/content.md
'
,
activeName
:
'
one
'
/*
anchorAttrs: {
...
...
src/components/landingpage/Resource.vue
View file @
8e83bc08
...
...
@@ -59,6 +59,7 @@
</div>
</
template
>
<
script
>
import
store
from
"
@/store/store.js
"
export
default
{
data
()
{
return
{
...
...
@@ -176,7 +177,7 @@
}
],
searchExample
:[],
landingPageJsonURL
:
'
/static/landingPage/landing_page.json
'
landingPageJsonURL
:
this
.
$store
.
state
.
baseURL
+
'
/static/landingPage/landing_page.json
'
}
},
methods
:{
...
...
src/components/landingpage/Statistics.vue
View file @
8e83bc08
...
...
@@ -42,13 +42,14 @@
import
SankeyPrideSimple
from
'
./statistics_chart/SankeySimple.vue
'
import
MapPrideSimple
from
'
./statistics_chart/MapSimple.vue
'
import
TreePrideSimple
from
'
./statistics_chart/TreeSimple.vue
'
import
store
from
"
@/store/store.js
"
export
default
{
data
()
{
return
{
treePrideApi
:
'
http://ves-pg-41:9020
/stats/SUBMISSIONS_PER_CATEGORIES
'
,
sankeyPrideApi
:
'
http://ves-pg-41:9020
/stats/SUBMISSIONS_PER_MONTH
'
,
mapPrideApi
:
'
http://ves-pg-41:9020
/stats/SUBMISSIONS_PER_COUNTRY
'
,
linePrideApi
:
'
http://ves-pg-41:9020
/stats/SUBMISSIONS_PER_YEAR
'
,
treePrideApi
:
this
.
$store
.
state
.
baseApiURL
+
'
/stats/SUBMISSIONS_PER_CATEGORIES
'
,
sankeyPrideApi
:
this
.
$store
.
state
.
baseApiURL
+
'
/stats/SUBMISSIONS_PER_MONTH
'
,
mapPrideApi
:
this
.
$store
.
state
.
baseApiURL
+
'
/stats/SUBMISSIONS_PER_COUNTRY
'
,
linePrideApi
:
this
.
$store
.
state
.
baseApiURL
+
'
/stats/SUBMISSIONS_PER_YEAR
'
,
treePrideShow
:
true
,
sankeyPrideShow
:
true
,
mapPrideShow
:
true
,
...
...
src/components/landingpage/StatisticsDetails.vue
View file @
8e83bc08
...
...
@@ -99,15 +99,16 @@
import
PiePride
from
'
./statistics_chart/Pie.vue
'
import
MapPride
from
'
./statistics_chart/Map.vue
'
import
NavBar
from
'
@/components/landingpage/Nav
'
import
store
from
"
@/store/store.js
"
export
default
{
data
()
{
return
{
treePrideApi
:
'
http://ves-pg-41:9020
/stats/SUBMISSIONS_PER_CATEGORIES
'
,
sunburstPrideApi
:
'
http://ves-pg-41:9020
/stats/SUBMISSIONS_PER_CATEGORIES
'
,
sankeyPrideApi
:
'
http://ves-pg-41:9020
/stats/SUBMISSIONS_PER_MONTH
'
,
mapPrideApi
:
'
http://ves-pg-41:9020
/stats/SUBMISSIONS_PER_COUNTRY
'
,
linePrideYearApi
:
'
http://ves-pg-41:9020
/stats/SUBMISSIONS_PER_YEAR
'
,
linePrideMonthApi
:
'
http://ves-pg-41:9020
/stats/SUBMISSIONS_PER_MONTH
'
,
treePrideApi
:
this
.
$store
.
state
.
baseApiURL
+
'
/stats/SUBMISSIONS_PER_CATEGORIES
'
,
sunburstPrideApi
:
this
.
$store
.
state
.
baseApiURL
+
'
/stats/SUBMISSIONS_PER_CATEGORIES
'
,
sankeyPrideApi
:
this
.
$store
.
state
.
baseApiURL
+
'
/stats/SUBMISSIONS_PER_MONTH
'
,
mapPrideApi
:
this
.
$store
.
state
.
baseApiURL
+
'
/stats/SUBMISSIONS_PER_COUNTRY
'
,
linePrideYearApi
:
this
.
$store
.
state
.
baseApiURL
+
'
/stats/SUBMISSIONS_PER_YEAR
'
,
linePrideMonthApi
:
this
.
$store
.
state
.
baseApiURL
+
'
/stats/SUBMISSIONS_PER_MONTH
'
,
sunburstPrideShow
:
true
,
sankeyPrideShow
:
true
,
mapPrideShow
:
true
,
...
...
@@ -188,7 +189,7 @@
facetsTypeChange
(
facets
){
this
.
piePrideShow
=
true
;
this
.
$http
.
get
(
'
http://ves-pg-41:9020
/stats/SUBMISSIONS_PER_
'
+
facets
)
.
get
(
this
.
$store
.
state
.
baseApiURL
+
'
/stats/SUBMISSIONS_PER_
'
+
facets
)
.
then
(
function
(
res
){
this
.
piePrideShow
=
false
;
this
.
$bus
.
$emit
(
'
show-pie
'
,
res
.
body
);
...
...
src/components/landingpage/Tools.vue
View file @
8e83bc08
...
...
@@ -86,6 +86,7 @@
</div>
</
template
>
<
script
>
import
store
from
"
@/store/store.js
"
export
default
{
data
()
{
return
{
...
...
@@ -119,7 +120,7 @@
four
:
''
,
five
:
''
},
landingPageJsonURL
:
'
/static/landingPage/landing_page.json
'
,
landingPageJsonURL
:
this
.
$store
.
state
.
baseURL
+
'
/static/landingPage/landing_page.json
'
,
markdownFolder
:
''
}
},
...
...
src/components/landingpage/statistics_chart/Line.vue
View file @
8e83bc08
...
...
@@ -9,8 +9,6 @@ export default {
data
:
function
()
{
//let data =
return
{
lineYearApi
:
'
http://ves-pg-41:9020/stats/SUBMISSIONS_PER_YEAR
'
,
lineMonthApi
:
'
http://ves-pg-41:9020/stats/SUBMISSIONS_PER_MONTH
'
,
options
:
{
title
:
{
/*text: 'Beijing AQI'*/
...
...
src/components/landingpage/statistics_chart/LineSimple.vue
View file @
8e83bc08
...
...
@@ -9,8 +9,6 @@ export default {
data
:
function
()
{
//let data =
return
{
lineYearApi
:
'
http://ves-pg-41:9020/stats/SUBMISSIONS_PER_YEAR
'
,
lineMonthApi
:
'
http://ves-pg-41:9020/stats/SUBMISSIONS_PER_MONTH
'
,
options
:
{
title
:
{
text
:
'
Submission
'
,
...
...
src/components/peptidome/Nav.vue
View file @
8e83bc08
...
...
@@ -6,7 +6,7 @@
<!-- local-title -->
<div
class=
"columns medium-5"
id=
"local-title"
>
<div
class=
"pride-logo"
>
<a
href=
"../../"
title=
"Back to [service-name] homepage"
><img
src=
"
/static/logo/PRIDE_logo_Peptide.png
"
alt=
"logo"
width=
"500"
></a>
<a
href=
"../../"
title=
"Back to [service-name] homepage"
><img
:
src=
"
logoURL
"
alt=
"logo"
width=
"500"
></a>
</div>
</div>
<!-- /local-title -->
...
...
@@ -120,6 +120,7 @@
</div>
</
template
>
<
script
>
import
store
from
"
@/store/store.js
"
export
default
{
data
()
{
return
{
...
...
@@ -127,7 +128,8 @@
selected
:
'
archive
'
,
title
:
''
,
subnav
:[],
landingPageJsonURL
:
'
/static/landingPage/landing_page.json
'
landingPageJsonURL
:
this
.
$store
.
state
.
baseURL
+
'
/static/landingPage/landing_page.json
'
,
logoURL
:
this
.
$store
.
state
.
baseURL
+
'
/static/logo/PRIDE_logo_Peptide.png
'
,
}
},
methods
:{
...
...
@@ -200,7 +202,7 @@
border
:
0
!important
;
}
.ebi-masthead
{
background-image
:
url('/static/image/hero-beta-banner.png')
;
background-image
:
url('
../../..
/static/image/hero-beta-banner.png')
;
}
.ebi-masthead
nav
ul
.menu
li
{
border-right
:
1px
solid
rgb
(
248
,
248
,
248
,
0.7
);
...
...
src/components/peptidome/PeptideDetails.vue
View file @
8e83bc08
...
...
@@ -142,7 +142,7 @@
<p
slot=
"title"
>
Consensus Spectrum
</p>
<Spin
fix
v-if=
"consensusSpectrumSpinShow"
></Spin>
<!--
<p
slot=
"extra"
>
Species distribution for all the PSMs within the cluster.
</p>
-->
<iframe
ref=
"lorikeetIframe"
class=
"lorikeet-iframe"
src=
"
/static/lorikeet/html/pride.html
"
></iframe>
<iframe
ref=
"lorikeetIframe"
class=
"lorikeet-iframe"
:
src=
"
iframeURL
"
></iframe>
<!--
<Lorikeet></Lorikeet>
-->
</Card>
</div>
...
...
@@ -155,9 +155,11 @@
import
PiesSecies
from
'
@/components/peptidome/chart/PieSpecies.vue
'
import
Modifications
from
'
@/components/peptidome/chart/Modifications.vue
'
import
NavBar
from
'
@/components/landingpage/Nav
'
import
store
from
"
@/store/store.js
"
export
default
{
data
()
{
return
{
iframeURL
:
this
.
$store
.
state
.
baseURL
+
'
/static/lorikeet/html/pride.html
'
,
clusterIDApi
:
'
https://www.ebi.ac.uk:443/pride/ws/cluster/cluster/
'
+
this
.
$route
.
params
.
id
,
clusterSpeciesApi
:
'
https://www.ebi.ac.uk:443/pride/ws/cluster/cluster/
'
+
this
.
$route
.
params
.
id
+
'
/species
'
,
clusterModificationApi
:
'
https://www.ebi.ac.uk:443/pride/ws/cluster/cluster/
'
+
this
.
$route
.
params
.
id
+
'
/modification
'
,
...
...
src/components/peptidome/PeptideSearch.vue
View file @
8e83bc08
...
...
@@ -91,12 +91,13 @@
<
script
>
import
NavBar
from
'
@/components/peptidome/Nav
'
import
store
from
"
@/store/store.js
"
export
default
{
name
:
'
archive
'
,
data
(){
return
{
queryClusterListApi
:
'
https://www.ebi.ac.uk:443/pride/ws/cluster/cluster/list
'
,
searchConfigURL
:
'
/static/facets/config.json
'
,
searchConfigURL
:
this
.
$store
.
state
.
baseURL
+
'
/static/facets/config.json
'
,
q
:
''
,
peptide
:
''
,
modFilters
:
''
,
...
...
src/components/peptidome/Peptidome.vue
View file @
8e83bc08
...
...
@@ -5,15 +5,15 @@
<Carousel
v-model=
"value1"
loop
>
<CarouselItem>
<!--
<span
class=
"info"
><i
class=
"fas fa-info"
></i>
aaa aa aa a a a aaaaaa
</span>
-->
<div
class=
"demo-carousel"
><img
src=
"
/static/peptidome/tutorial-1.png
"
height=
"443"
width=
"1235"
></div>
<div
class=
"demo-carousel"
><img
:
src=
"
image1URL
"
height=
"443"
width=
"1235"
></div>
</CarouselItem>
<CarouselItem>
<!--
<span
class=
"info"
><i
class=
"fas fa-info"
></i>
aaa aa aa a a a aaaaaa
</span>
-->
<div
class=
"demo-carousel"
><img
src=
"
/static/peptidome/tutorial-2.png
"
height=
"443"
width=
"1235"
></div>
<div
class=
"demo-carousel"
><img
:
src=
"
image2URL
"
height=
"443"
width=
"1235"
></div>
</CarouselItem>
<CarouselItem>
<!--
<span
class=
"info"
><i
class=
"fas fa-info"
></i>
aaa aa aa a a a aaaaaa
</span>
-->
<div
class=
"demo-carousel"
><img
src=
"
/static/peptidome/tutorial-3.png
"
height=
"443"
width=
"1235"
></div>
<div
class=
"demo-carousel"
><img
:
src=
"
image3URL
"
height=
"443"
width=
"1235"
></div>
</CarouselItem>
</Carousel>
<div
class =
"content"
>
...
...
@@ -144,6 +144,7 @@
</
template
>
<
script
>
import
NavBar
from
'
@/components/peptidome/Nav
'
import
store
from
"
@/store/store.js
"
export
default
{
name
:
'
notfound
'
,
components
:
{
...
...
@@ -201,7 +202,11 @@
data
(){
return
{
msg
:
''
,
value1
:
0
value1
:
0
,
image1URL
:
this
.
$store
.
state
.
baseURL
+
'
/static/peptidome/tutorial-1.png
'
,
image2URL
:
this
.
$store
.
state
.
baseURL
+
'
/static/peptidome/tutorial-2.png
'
,
image3URL
:
this
.
$store
.
state
.
baseURL
+
'
/static/peptidome/tutorial-3.png
'
,
}
},
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment