public DashboardPanel(MainFrame owner) {
		User user = Service.getCurrentUser();

		this.owner = owner;
		this.repainter = Updater.getInstance();// new Updater(60000);
		this.repainter.registerObserver(this);

		this.setLayout(new BorderLayout());

		pnlDashboardCenter = new JPanel();
		pnlDashboardCenter.setLayout(new GridLayout(0, 2, 5, 5));
		JScrollPane scpDashboardCenter = new JScrollPane(pnlDashboardCenter);
		scpDashboardCenter
				.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
		this.add(scpDashboardCenter, BorderLayout.CENTER);

		fillStocks();

		pnlDashboardRight = new JPanel();
		this.add(pnlDashboardRight, BorderLayout.EAST);
		pnlDashboardRight.setLayout(new BoxLayout(pnlDashboardRight,
				BoxLayout.Y_AXIS));

		pnlButtons = new JPanel();
		pnlButtons.setLayout(new GridLayout(0, 1));
		pnlDashboardRight.add(pnlButtons);
		btnCreateStock = new JButton("Create Stock");
		btnUpdateStock = new JButton("Update Stock");
		btnDeleteStock = new JButton("Delete Stock");
		btnOpenStock = new JButton("Open Stock");

		if (user.canAccess("Create Stock")) {
			btnCreateStock.addActionListener(controller);
			pnlButtons.add(btnCreateStock);
		}

		if (user.canAccess("Update Stock")) {
			btnUpdateStock.addActionListener(controller);
			pnlButtons.add(btnUpdateStock);
			btnUpdateStock.setEnabled(false);
		}

		if (user.canAccess("Delete Stock")) {
			btnDeleteStock.addActionListener(controller);
			pnlButtons.add(btnDeleteStock);
			btnDeleteStock.setEnabled(false);
		}

		btnOpenStock.addActionListener(controller);
		pnlButtons.add(btnOpenStock);
		btnOpenStock.setEnabled(false);

		txaStockInfo = new JTextArea("No Stock selected");
		txaStockInfo.setEnabled(false);
		txaStockInfo.setLineWrap(true);
		txaStockInfo.setBackground(Color.LIGHT_GRAY);

		scpStockInfo = new JScrollPane(txaStockInfo);
		scpStockInfo.setPreferredSize(new Dimension(210, 300));
		pnlDashboardRight.add(scpStockInfo);
	}