1
+ frappe . ui . form . on ( "Program Enrollment" , {
2
+ sinvoice : function ( frm )
3
+ {
4
+ if ( frm . doc . sinvoice == 0 )
5
+ {
6
+ frm . set_value ( "invoice" , undefined ) ;
7
+ frm . set_value ( "_party" , undefined ) ;
8
+ frm . set_df_property ( "invoice" , "hidden" , 1 ) ;
9
+ frm . set_df_property ( "invoice" , "reqd" , 0 ) ;
10
+ frm . set_df_property ( "_party" , "hidden" , 1 ) ;
11
+ frm . set_df_property ( "_party" , "reqd" , 0 ) ;
12
+ frm . set_df_property ( "generate" , "hidden" , 1 ) ;
13
+ }
14
+
15
+ else {
16
+ frm . set_df_property ( "invoice" , "hidden" , 0 ) ;
17
+ frm . set_df_property ( "invoice" , "reqd" , 1 ) ;
18
+ frm . set_df_property ( "_party" , "hidden" , 0 ) ;
19
+ frm . set_df_property ( "_party" , "reqd" , 1 ) ;
20
+ }
21
+ } ,
22
+
23
+ invoice : function ( frm ) {
24
+ if ( frm . doc . invoice != undefined ) {
25
+ frm . set_df_property ( "generate" , "hidden" , 1 ) ;
26
+ }
27
+
28
+ else frm . set_df_property ( "generate" , "hidden" , 0 ) ;
29
+ } ,
30
+
31
+
32
+ _party : function ( frm ) {
33
+ frm . set_value ( "invoice" , undefined ) ;
34
+ frm . set_df_property ( "generate" , "hidden" , 0 ) ;
35
+ } ,
36
+
37
+
38
+ generate : function ( frm ) {
39
+
40
+ if ( frm . doc . sinvoice == 0 ) return ;
41
+ if ( frm . doc . courses == undefined || frm . doc . student == undefined || frm . doc . _party == undefined )
42
+ {
43
+ frappe . msgprint ( "Form incomplete. Kindly fill the mandatory fields and try again." ) ; return ;
44
+ }
45
+ var crs = [ ] , fee = [ ] , i = 0 ;
46
+ frm . doc . courses . forEach ( function ( rows ) { crs [ i ] = rows . course ; i ++ ; } ) ;
47
+ i = 0 ; frm . doc . fees . forEach ( function ( rows ) { fee [ i ] = rows . fee_structure ; i ++ ; } ) ;
48
+ frappe . call ( {
49
+ method : "add_enroll.add_enroll.program_enrollment_override.make_inv" ,
50
+ args :{
51
+ 'customer' : frm . doc . _party ,
52
+ 'customer_name' : frm . doc . student_name ,
53
+ 'due_date' : frm . doc . enrollment_date ,
54
+ 'courses' : crs ,
55
+ 'fees' :fee ,
56
+ } ,
57
+ async : false ,
58
+ callback : function ( r )
59
+ {
60
+ frm . set_value ( "invoice" , r . message . name ) ;
61
+ frm . set_df_property ( "generate" , "hidden" , 1 ) ;
62
+ }
63
+ } ) ;
64
+ }
65
+ } ) ;
0 commit comments