@@ -45,6 +45,10 @@ const parseValue = (id, { key, obj, vocabFields, inputFields }) => {
4545 return value ?. term || ''
4646 }
4747
48+ if ( key === 'id' ) {
49+ return id
50+ }
51+
4852 if ( key === 'carbonCredit' ) {
4953 return `${ value } `
5054 }
@@ -107,19 +111,27 @@ ${stringifySync(tables.expenditure, { header: true, delimiter: ';', quoted: fals
107111 return value || ''
108112}
109113
110- export default ( { submission, columns } ) => {
114+ export default ( { ctx, submission, columns } ) => {
115+ const origin = ctx . get ( 'origin' )
111116 let { project, mitigation, adaptation, ...fields } = submission
112117 project = JSON . parse ( project )
113118 mitigation = JSON . parse ( mitigation )
114119 adaptation = JSON . parse ( adaptation )
120+ const id = submission . id [ 0 ]
115121
116122 const row = new Array ( Object . keys ( columns ) . length ) . fill ( '' )
117123
124+ // Create the URI cell
125+ {
126+ const i = columns . uri
127+ row [ i ] = `${ origin } /submissions/${ id } `
128+ }
129+
118130 // Project fields
119131 for ( const key in project ) {
120132 const i = columns [ `project.${ key } ` ]
121133 if ( isNaN ( i ) ) continue
122- row [ i ] = parseValue ( submission . id , {
134+ row [ i ] = parseValue ( id , {
123135 key,
124136 obj : project ,
125137 vocabFields : projectVocabularyFields ,
@@ -131,7 +143,7 @@ export default ({ submission, columns }) => {
131143 for ( const key in mitigation ) {
132144 const i = columns [ `mitigation.${ key } ` ]
133145 if ( isNaN ( i ) ) continue
134- row [ i ] = parseValue ( submission . id , {
146+ row [ i ] = parseValue ( id , {
135147 key,
136148 obj : mitigation ,
137149 vocabFields : mitigationVocabularyFields ,
@@ -143,7 +155,7 @@ export default ({ submission, columns }) => {
143155 for ( const key in adaptation ) {
144156 const i = columns [ `adaptation.${ key } ` ]
145157 if ( isNaN ( i ) ) continue
146- row [ i ] = parseValue ( submission . id , {
158+ row [ i ] = parseValue ( id , {
147159 key,
148160 obj : adaptation ,
149161 vocabFields : adaptationVocabularyFields ,
@@ -155,7 +167,7 @@ export default ({ submission, columns }) => {
155167 for ( const key in fields ) {
156168 const i = columns [ key ]
157169 if ( isNaN ( i ) ) continue
158- row [ i ] = parseValue ( submission . id , {
170+ row [ i ] = parseValue ( id , {
159171 key,
160172 obj : fields ,
161173 vocabFields : generalVocabularyFields ,
0 commit comments