Skip to content

Commit

Permalink
Merge branch 'develop'
Browse files Browse the repository at this point in the history
  • Loading branch information
alimranahmed committed Mar 1, 2021
2 parents c69c5d8 + 0d5a383 commit 689efc6
Show file tree
Hide file tree
Showing 14 changed files with 227 additions and 168 deletions.
67 changes: 32 additions & 35 deletions app/Http/Controllers/CommentController.php
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\Facades\Mail;
use Spatie\Permission\Models\Role;
Expand Down Expand Up @@ -56,41 +58,36 @@ public function store(CommentRequest $request, $articleId)
$newComment = $request->only('content', 'parent_comment_id');
$newAddress = ['ip' => $clientIP];
try {
\DB::transaction(
function () use (&$newComment, $newAddress, $articleId, $request, $clientIP) {
//Create new address
$newAddress = Address::create($newAddress);
//Create new comment
$newComment['address_id'] = $newAddress->id;
$newComment['article_id'] = $articleId;
$newComment['token'] = \Hash::make($newComment['content']);
$newComment['is_published'] = 0;

$newUser = User::where('email', $request->get('email'))->first();
if (is_null($newUser)) {
$newUser = $request->only('email');
$newUser = User::create($newUser);
$newUser->attachRole(Role::where('name', 'reader')->first());

$newUser->reader()->create(
[
'notify' => $request->has('notify'),
]
);
} elseif ($newUser->isReader()) {
$newUser->reader->update(['notify' => $request->has('notify')]);
}
if ($request->has('name')) {
$newUser->name = $request->get('name');
}
$newUser->last_ip = $clientIP;
$newUser->token = \Hash::make($newComment['content']);
$newUser->save();
$newComment['user_id'] = $newUser->id;
$newComment = Comment::create($newComment);
Article::where('id', $articleId)->increment('comment_count');
}
);
DB::beginTransaction();
//Create new address
$newAddress = Address::create($newAddress);
//Create new comment
$newComment['address_id'] = $newAddress->id;
$newComment['article_id'] = $articleId;
$newComment['token'] = \Hash::make($newComment['content']);
$newComment['is_published'] = 0;

$newUser = User::where('email', $request->get('email'))->first();
if (is_null($newUser)) {
$newUser = $request->only('email');
$newUser = User::create($newUser);
$newUser->assignRole(Role::where('name', 'reader')->first());

$newUser->reader()->create(['notify' => $request->has('notify'),]);
} elseif ($newUser->isReader()) {
$newUser->reader->update(['notify' => $request->has('notify')]);
}
if ($request->has('name')) {
$newUser->name = $request->get('name');
}
$newUser->last_ip = $clientIP;
$newUser->token = Hash::make($newComment['content']);
$newUser->save();
$newComment['user_id'] = $newUser->id;
$newComment = Comment::create($newComment);
Article::where('id', $articleId)->increment('comment_count');

DB::commit();
//$this->dispatch(new SendConfirmCommentMail($newComment));
} catch (\Exception $e) {
Log::error($this->getLogMsg($e));
Expand Down
37 changes: 19 additions & 18 deletions app/Http/Controllers/UserController.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
use App\Models\User;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\Facades\Mail;
Expand Down Expand Up @@ -123,24 +124,24 @@ public function subscribe(Request $request)
try {
$this->validate($request, ['name' => 'required', 'email' => 'required|email']);

\DB::transaction(function () use ($newAddress, $request, $clientIP) {
$newAddress = Address::create($newAddress);
$newUser = User::where('email', $request->get('email'))->first();

if (is_null($newUser)) {
$newUser = $request->only('email', 'name');
$newUser['last_ip'] = $clientIP;
$newUser['address_id'] = $newAddress->id;
$newUser['token'] = Hash::make($request->get('email'));
$newUser = User::create($newUser);
$newUser->attachRole(Role::where('name', 'reader')->first());

$newUser->reader()->create(['notify' => 0, 'is_verified' => 0]);
Mail::to($request->get('email'))->queue(new SubscribeConfirmation($newUser));
} else {
return back()->with('warningMsg', 'You have already subscribed, please contact with admin');
}
});
DB::beginTransaction();
$newAddress = Address::create($newAddress);
$newUser = User::where('email', $request->get('email'))->first();

if (is_null($newUser)) {
$newUser = $request->only('email', 'name');
$newUser['last_ip'] = $clientIP;
$newUser['address_id'] = $newAddress->id;
$newUser['token'] = Hash::make($request->get('email'));
$newUser = User::create($newUser);
$newUser->assignRole(Role::where('name', 'reader')->first());

$newUser->reader()->create(['notify' => 0, 'is_verified' => 0]);
Mail::to($request->get('email'))->queue(new SubscribeConfirmation($newUser));
} else {
return back()->with('warningMsg', 'You have already subscribed, please contact with admin');
}
DB::commit();
} catch (\Exception $e) {
Log::error($this->getLogMsg($e));
return back()->with('errorMsg', $this->getMessage($e));
Expand Down
16 changes: 16 additions & 0 deletions database/factories/CommentFactory.php
Original file line number Diff line number Diff line change
Expand Up @@ -31,4 +31,20 @@ public function definition()
'parent_comment_id' => null,
];
}

public function published()
{
return $this->state([
'is_published' => 1,
'published_at' => now(),
]);
}

public function unpublished()
{
return $this->state([
'is_published' => 0,
'published_at' => null,
]);
}
}
1 change: 0 additions & 1 deletion database/seeds/CategoriesTableSeeder.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ class CategoriesTableSeeder extends Seeder
*/
public function run()
{

$categories[] = [
'name' => 'Object Oriented Programming',
'alias' => 'oop',
Expand Down
2 changes: 1 addition & 1 deletion database/seeds/UsersTableSeeder.php
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ public function run()
]
);
$ownerRole = Role::where('name', 'owner')->first();
$owner->attachRoles([$ownerRole]);
$owner->assignRole($ownerRole);
}
}
}
Loading

0 comments on commit 689efc6

Please sign in to comment.