77use Nicelizhi \Admin \Form ;
88use Nicelizhi \Admin \Grid ;
99use Nicelizhi \Admin \Show ;
10+ use Nicelizhi \Admin \Facades \Admin ;
11+ use Exonet \Powerdns \Powerdns ;
12+ use Exonet \Powerdns \RecordType ;
1013
1114class UserDomainController extends AdminController
1215{
@@ -32,6 +35,16 @@ protected function grid()
3235 $ grid ->column ('created_at ' , __ ('Created at ' ));
3336 $ grid ->column ('updated_at ' , __ ('Updated at ' ));
3437
38+
39+
40+ //Admin::user()->isAdministrator();
41+ if (!Admin::user ()->isAdministrator ()){
42+
43+ $ grid ->model ()->where ("user_id " , Admin::user ()->id );
44+ }
45+
46+ $ grid ->model ()->orderBy ("id " , "desc " );
47+
3548 return $ grid ;
3649 }
3750
@@ -63,8 +76,23 @@ protected function form()
6376 {
6477 $ form = new Form (new UsersDomain ());
6578
66- $ form ->text ('domain ' , __ ('Domain ' ));
67- $ form ->number ('user_id ' , __ ('User id ' ));
79+ $ form ->text ('domain ' , __ ('Domain ' ))->creationRules (['required ' ,"unique:users_domains " ])->updateRules (['required ' , "unique:users_domains,domain,{{id}} " ]);
80+ $ form ->hidden ('user_id ' , __ ('User id ' ))->default (Admin::user ()->id );
81+
82+ //保存后回调
83+ $ form ->saved (function ($ form ) {
84+
85+ $ url = config ("pdns.api_url " );
86+ $ key = config ("pdns.api_key " );
87+ $ powerdns = new Powerdns ($ url , $ key );
88+
89+ // Create a new zone.
90+ $ zone = $ powerdns ->createZone (
91+ $ form ->model ()->domain ,
92+ ['ns1.zylinkus.com. ' , 'ns2.zylinkus.com. ' ]
93+ );
94+
95+ });
6896
6997 return $ form ;
7098 }
0 commit comments