HI Imantha,
just override the action_confirm() function of sale and check the the uid == 1 , if uid confirm the order else raise the Usererror,
@api.multi
def action_confirm(self):
if self._uid == 1:
for order in self:
order.state = 'sale'
if self.env.context.get('send_email'):
self.force_quotation_send()
order.order_line._action_procurement_create()
if not order.project_id:
for line in order.order_line:
if line.product_id.invoice_policy == 'cost':
order._create_analytic_account()
break
if self.env['ir.values'].get_default('sale.config.settings', 'auto_done_setting'):
self.action_done()
else:
"generate your next process"
next case is you have to make the user access rights in user general settings where sale selection to proper neeeds.
Another option is you can hide the confirm button from quotation ,
<button name="action_confirm" states="draft" string="Confirm Sale" type="object" context="{'show_sale': True}"/>
use
attrs="{'invisible':[(uid, '!=', 1)]}"
Thanks