@@ 8-33 (lines=26) @@ | ||
5 | use Newsletter; |
|
6 | use App\Http\Requests\Front\Api\NewsletterSubscriptionRequest; |
|
7 | ||
8 | class NewsletterController extends Controller |
|
9 | { |
|
10 | /** |
|
11 | * @param \App\Http\Requests\Front\NewsletterSubscriptionRequest $request |
|
12 | * |
|
13 | * @return \Illuminate\Http\JsonResponse |
|
14 | */ |
|
15 | public function subscribe(NewsletterSubscriptionRequest $request) |
|
16 | { |
|
17 | $email = strtolower($request->get('email')); |
|
18 | ||
19 | if (Newsletter::hasMember($email)) { |
|
20 | return $this->respond(['message' => fragment('newsletter.subscription.result.alreadySubscribed'), 'type' => 'info']); |
|
21 | } |
|
22 | ||
23 | $result = Newsletter::subscribe($email); |
|
24 | ||
25 | if (! $result) { |
|
26 | return $this->respondWithBadRequest(['message' => fragment('newsletter.subscription.result.error'), 'type' => 'error']); |
|
27 | } |
|
28 | ||
29 | activity()->log("{$email} schreef zich in op de nieuwsbrief"); |
|
30 | ||
31 | return $this->respond(['message' => fragment('newsletter.subscription.result.ok'), 'type' => 'success']); |
|
32 | } |
|
33 | } |
|
34 |
@@ 9-34 (lines=26) @@ | ||
6 | use App\Http\Controllers\ApiController; |
|
7 | use App\Http\Requests\Front\NewsletterSubscriptionRequest; |
|
8 | ||
9 | class NewsletterApiController extends ApiController |
|
10 | { |
|
11 | /** |
|
12 | * @param \App\Http\Requests\Front\NewsletterSubscriptionRequest $request |
|
13 | * |
|
14 | * @return \Illuminate\Http\JsonResponse |
|
15 | */ |
|
16 | public function subscribe(NewsletterSubscriptionRequest $request) |
|
17 | { |
|
18 | $email = strtolower($request->get('email')); |
|
19 | ||
20 | if (Newsletter::hasMember($email)) { |
|
21 | return $this->respond(['message' => fragment('newsletter.subscription.result.alreadySubscribed'), 'type' => 'info']); |
|
22 | } |
|
23 | ||
24 | $result = Newsletter::subscribe($email); |
|
25 | ||
26 | if (! $result) { |
|
27 | return $this->respondWithBadRequest(['message' => fragment('newsletter.subscription.result.error'), 'type' => 'error']); |
|
28 | } |
|
29 | ||
30 | activity()->log("{$email} schreef zich in op de nieuwsbrief"); |
|
31 | ||
32 | return $this->respond(['message' => fragment('newsletter.subscription.result.ok'), 'type' => 'success']); |
|
33 | } |
|
34 | } |
|
35 |