Subversion Repositories SmartDukaan

Rev

Rev 2781 | Rev 3986 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1146 chandransh 1
package in.shop2020.hotspot.dashbaord.client.inbox;
2
 
3
import in.shop2020.hotspot.dashbaord.client.event.AddJacketNumberEvent;
2843 chandransh 4
import in.shop2020.hotspot.dashbaord.shared.actions.BillingType;
1146 chandransh 5
import in.shop2020.hotspot.dashbaord.shared.actions.Order;
6
 
7
import org.enunes.gwt.mvp.client.EventBus;
8
 
9
import com.google.gwt.event.dom.client.ClickEvent;
10
import com.google.gwt.event.dom.client.ClickHandler;
11
import com.google.gwt.user.client.ui.Button;
12
import com.google.gwt.user.client.ui.DialogBox;
13
import com.google.gwt.user.client.ui.HorizontalPanel;
14
import com.google.gwt.user.client.ui.Label;
15
import com.google.gwt.user.client.ui.TextBox;
16
import com.google.gwt.user.client.ui.VerticalPanel;
2781 chandransh 17
import com.google.gwt.user.client.ui.Widget;
1146 chandransh 18
 
19
public class JacketInfoBox extends DialogBox {
20
	private Label errorLabel = new Label("");
2781 chandransh 21
 
1146 chandransh 22
	private Label jacketNumberLabel = new Label("Jacket Number");
23
	private TextBox jacketNumberBox = new TextBox();
2781 chandransh 24
 
25
	private Label itemNumberLabel = new Label("Item Number");
26
	private TextBox itemNumberBox = new TextBox();
27
 
2352 chandransh 28
	private Label imeiNumberLabel = new Label("IMEI No.");
29
	private TextBox imeiNumberBox = new TextBox();
2781 chandransh 30
 
31
	private Label billedBy = new Label("Billed by");
32
 
1146 chandransh 33
	private Button submitbutton = new Button("Submit");
34
	private VerticalPanel vpanel = new VerticalPanel();
35
 
2843 chandransh 36
	public JacketInfoBox(final EventBus eventBus, final Order order, final String user, final BillingType billingType){
1146 chandransh 37
		vpanel.add(errorLabel);
2352 chandransh 38
		vpanel.add(getHorizontalPanel(jacketNumberLabel, jacketNumberBox));      //Ask for the jacket number
2843 chandransh 39
		if(billingType == BillingType.OURS){
40
            vpanel.add(getHorizontalPanel(itemNumberLabel, itemNumberBox));          //Ask for the item number
41
            if("Handsets".equals(order.getProductGroup())){
42
                vpanel.add(getHorizontalPanel(imeiNumberLabel, imeiNumberBox));      //Ask for IMEI only in case of Handsets
43
            }
2352 chandransh 44
		}
2843 chandransh 45
 
2781 chandransh 46
		vpanel.add(getHorizontalPanel(billedBy, new Label(user)));
1146 chandransh 47
		vpanel.add(submitbutton);
48
 
49
		setWidget(vpanel);
50
		setAutoHideEnabled(true);
51
		setGlassEnabled(true);
2843 chandransh 52
		if(billingType == BillingType.OURS)
53
		    setText("Enter all the details below:");
54
		else
55
		    setText("Enter Jacket Number below:");
1146 chandransh 56
		setModal(true);
57
 
58
		submitbutton.addClickHandler(new ClickHandler() {
59
 
60
			@Override
61
			public void onClick(ClickEvent event) {
2352 chandransh 62
				long jacketNumber = -1;
2843 chandransh 63
				long imeiNumber = -1;
64
				String itemNumber = "NO_NUMBER";
2352 chandransh 65
				try {
66
					jacketNumber = Long.parseLong(jacketNumberBox.getText());
67
				} catch(NumberFormatException nfe){
68
					nfe.printStackTrace();
1146 chandransh 69
				}
2352 chandransh 70
 
71
				if(jacketNumber <= 0){
72
					errorLabel.setText("Invalid Jacket number.");
73
					return;
74
				}
75
 
2843 chandransh 76
				if(billingType == BillingType.OURS){
77
	                itemNumber = itemNumberBox.getText();
78
	                if(itemNumber==null || itemNumber.trim().isEmpty()){
79
	                    errorLabel.setText("Item Number can't be left empty");
80
	                    return;
81
	                }
82
 
83
	                if("Handsets".equals(order.getProductGroup())){
84
	                    try {
85
	                        imeiNumber = Long.parseLong(imeiNumberBox.getText());
86
	                    } catch(NumberFormatException nfe){
87
	                        nfe.printStackTrace();
88
	                    }
89
 
90
	                    if(imeiNumber <= 0){
91
	                        errorLabel.setText("Invalid IMEI number");
92
	                        return;
93
	                    }
94
	                }
2781 chandransh 95
				}
2843 chandransh 96
				eventBus.fireEvent(new AddJacketNumberEvent(order, jacketNumber, imeiNumber, itemNumber.trim(), user, billingType));
2352 chandransh 97
				hide();
98
				clean();
1146 chandransh 99
			}
100
		});
101
	}
102
 
103
	public void clean(){
104
		jacketNumberBox.setText("");
2352 chandransh 105
		imeiNumberBox.setText("");
1146 chandransh 106
		errorLabel.setText("");
107
	}
2352 chandransh 108
 
2781 chandransh 109
	private HorizontalPanel getHorizontalPanel(Label label, Widget textBox){
2352 chandransh 110
		HorizontalPanel hpanel = new HorizontalPanel();
111
		hpanel.setSpacing(5);
112
		hpanel.add(label);
113
		hpanel.add(textBox);
114
		hpanel.setCellWidth(label, "120px");
115
		return hpanel;
116
	}
1146 chandransh 117
}