Blame view

database/seeds/TestCompany.php 1.68 KB
b7c7a5f6   Alexey Boroda   first commit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
  <?php
  
  namespace Database\Seeds;
  
  use App\Models\Model;
  use App\Models\Auth\User;
  use App\Models\Common\Company;
  use Jenssegers\Date\Date;
  use Illuminate\Database\Seeder;
  use Setting;
  
  class TestCompany extends Seeder
  {
      /**
       * Run the database seeds.
       *
       * @return void
       */
      public function run()
      {
          Model::unguard();
  
          $this->call(Roles::class);
  
          $this->createCompany();
  
          $this->createUser();
  
          Model::reguard();
      }
  
      private function createCompany()
      {
          $rows = [
              [
                  'id' => '1',
                  'domain' => 'test.com',
              ],
          ];
  
          foreach ($rows as $row) {
              Company::create($row);
          }
  
          Setting::setExtraColumns(['company_id' => '1']);
          Setting::set('general.company_name', 'Test Inc.');
          Setting::set('general.company_email', 'info@test.com');
          Setting::set('general.company_address', 'New Street 1254');
          Setting::set('general.default_currency', 'USD');
          Setting::set('general.default_account', '1');
          Setting::set('general.default_payment_method', 'offlinepayment.cash.1');
          Setting::save();
  
          $this->command->info('Test company created.');
      }
  
      public function createUser()
      {
          // Create user
          $user = User::create([
              'name' => 'Admin',
              'email' => 'admin@akaunting.com',
              'password' => '123456',
              'last_logged_in_at' => Date::now(),
          ]);
  
          // Attach Role
          $user->roles()->attach(1);
  
          // Attach company
          $user->companies()->attach(1);
  
          $this->command->info('Admin user created.');
      }
  }