Skip to content

Commit ce579d7

Browse files
committed
fixes for new froide request flow
1 parent caede72 commit ce579d7

File tree

4 files changed

+63
-20
lines changed

4 files changed

+63
-20
lines changed

frontend/i18n/campaign-request.json

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,8 @@
1717
"socialSubject": "Help me out and take part!",
1818
"socialText": "Hey, I'm taking part in this online campaign. Could you help out and join in?",
1919
"socialMedia": "Or share this campaign on social media!",
20-
"backToOverview": "Back to overview"
20+
"backToOverview": "Back to overview",
21+
"toPublicBody": "To: {name}"
2122
},
2223
"de": {
2324
"back": "Zurück",
@@ -37,6 +38,7 @@
3738
"socialSubject": "Hilf mir und nimm teil!",
3839
"socialText": "Hey, ich nehme an dieser Online-Kampagne teil. Könntest Du mir helfen und auch mitmachen?",
3940
"socialMedia": "Oder teilen Sie diese Kampagne in den sozialen Medien!",
40-
"backToOverview": "Zurück zur Übersicht"
41+
"backToOverview": "Zurück zur Übersicht",
42+
"toPublicBody": "An: {name}"
4143
}
4244
}

frontend/javascript/components/campaign-request.vue

Lines changed: 53 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,24 @@
2121
:publicbody="publicbody"
2222
@public-body-changed="updatePublicBody" />
2323
</div>
24+
<div class="mt-5" v-if="!fetching && !publibodiesOptions && publicbody">
25+
<div class="fs-3">
26+
{{ config.i18n.toPublicBody.replace('${name}', publicbody.name) }}
27+
<a :href="publicbody.site_url" target="_blank">
28+
<span class="fa fa-info-circle" />
29+
</a>
30+
</div>
31+
<div
32+
v-if="defaultLaw?.request_note_html"
33+
class="alert alert-warning my-2"
34+
v-html="defaultLaw.request_note_html"
35+
/>
36+
<div
37+
v-if="publicbody?.request_note_html"
38+
class="alert alert-warning my-2"
39+
v-html="publicbody.request_note_html"
40+
/>
41+
</div>
2442
<!-- <template v-if="!canRequest">
2543
<p>Dieser Betrieb wurde zwischenzeitlich schon angefragt.</p>
2644
<button class="btn btn-secondary" @click="$emit('close')">
@@ -42,11 +60,12 @@
4260
type="hidden"
4361
name="redirect_url" />
4462
<input v-model="params.ref" type="hidden" name="reference" />
63+
<!-- TODO is privateRequests ever true? if so, use froide/request-public.vue? -->
4564
<input
4665
v-if="!privateRequests"
4766
type="hidden"
4867
name="public"
49-
value="1" />
68+
value="True" />
5069
<input
5170
v-for="k in hideParams"
5271
:key="k"
@@ -60,7 +79,7 @@
6079
:user="userInfo"
6180
:default-law="defaultLaw"
6281
:user-form="userForm"
63-
:proof-form="proofForm"
82+
:proof-form-initial="proofForm"
6483
:proof-required="proofRequired"
6584
:initial-subject="subject"
6685
:initial-body="body"
@@ -69,17 +88,30 @@
6988
:hide-full-text="hideParams.includes('hide_full_text')"
7089
:hide-editing="hideParams.includes('hide_editing')"
7190
:law-type="lawType"
72-
:use-pseudonym="false"
7391
:config="config"
7492
:submitting="submitting" />
75-
<UserRegistration
76-
:form="userForm"
77-
:config="config"
78-
:user="userInfo"
79-
:default-law="defaultLaw"
80-
:address-help-text="addressHelpText"
81-
:address-required="addressRequired" />
82-
<UserTerms v-if="!userInfo" :form="userForm" />
93+
<div class="card mb-3">
94+
<div class="card-body">
95+
<UserCreateAccount
96+
v-if="!userInfo"
97+
:user="user"
98+
:config="config"
99+
:request-form="requestForm"
100+
:user-form="userForm"
101+
:default-law="defaultLaw"
102+
:address-help-text="addressHelpText"
103+
:address-required="addressRequired"
104+
:use-pseudonym="false"
105+
>
106+
<template #userPublicPreamble>
107+
<span v-html="userForm.fields.private.help_text" />
108+
</template>
109+
</UserCreateAccount>
110+
<UserConfirmation
111+
:form="userForm"
112+
/>
113+
</div>
114+
</div>
83115
<div v-if="!hideNewsletterCheckbox" class="row">
84116
<div class="col-md-12">
85117
<div class="card mb-3">
@@ -132,8 +164,9 @@
132164
<script>
133165
import CampaignChoosePublicbody from './campaign-choose-publicbody.vue'
134166
import RequestForm from 'froide/frontend/javascript/components/makerequest/request-form.vue'
135-
import UserRegistration from 'froide/frontend/javascript/components/makerequest/user-registration.vue'
136-
import UserTerms from 'froide/frontend/javascript/components/makerequest/user-terms.vue'
167+
import StoreValueMixin from 'froide/frontend/javascript/components/makerequest/lib/store-values-mixin'
168+
import UserCreateAccount from 'froide/frontend/javascript/components/makerequest/user-create-account.vue'
169+
import UserConfirmation from 'froide/frontend/javascript/components/makerequest/user-confirmation.vue'
137170
import { selectBestLaw } from 'froide/frontend/javascript/lib/law-select'
138171
import campaignI18n from '../../i18n/campaign-request.json'
139172
@@ -147,12 +180,12 @@ export default {
147180
components: {
148181
RequestForm,
149182
CampaignLoader,
150-
UserTerms,
151-
UserRegistration,
183+
UserCreateAccount,
184+
UserConfirmation,
152185
CampaignChoosePublicbody,
153186
CampaignRecommend
154187
},
155-
mixins: [CampaignDetailMixin, CampaignItemMixin],
188+
mixins: [CampaignDetailMixin, CampaignItemMixin, StoreValueMixin],
156189
props: {
157190
buttonText: {
158191
type: String
@@ -242,6 +275,7 @@ export default {
242275
}
243276
244277
return {
278+
pbScope: 'campaign-',
245279
fetching: !this.data.full,
246280
submitting: false,
247281
submitted: false,
@@ -251,6 +285,9 @@ export default {
251285
messages
252286
}
253287
},
288+
created() {
289+
this.initAllStoreValues()
290+
},
254291
computed: {
255292
csrfToken() {
256293
return this.$root.csrfToken

frontend/javascript/list.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,12 @@ import '../styles/main.scss'
22

33
import { createAppWithProps } from 'froide/frontend/javascript/lib/vue-helper'
44

5+
import store from 'froide/frontend/javascript/store'
6+
57
import CampaignList from './components/campaign-list'
68

79
function createCampaignList(selector) {
8-
createAppWithProps(selector, CampaignList).mount(selector)
10+
createAppWithProps(selector, CampaignList).use(store).mount(selector)
911
}
1012

1113
document.addEventListener('DOMContentLoaded', function () {

frontend/javascript/map.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,12 @@ import '../styles/main.scss'
22

33
import { createAppWithProps } from 'froide/frontend/javascript/lib/vue-helper'
44

5+
import store from 'froide/frontend/javascript/store'
6+
57
import CampaignMap from './components/campaign-map'
68

79
function createCampaignMap(selector) {
8-
createAppWithProps(selector, CampaignMap).mount(selector)
10+
createAppWithProps(selector, CampaignMap).use(store).mount(selector)
911
}
1012

1113
document.addEventListener('DOMContentLoaded', function () {

0 commit comments

Comments
 (0)