[IMP] access rights
bzr revid: fp@tinyerp.com-20101228145253-192pr7ifqlyt90jn
This commit is contained in:
parent
1d1453330f
commit
07bfa5c23d
|
@ -37,11 +37,9 @@
|
|||
<menuitem id="menus_dash_mrp" name="Dashboard"
|
||||
parent="next_id_77" sequence="0"/>
|
||||
<menuitem
|
||||
action="open_board_manufacturing"
|
||||
icon="terp-graph"
|
||||
id="menu_board_manufacturing"
|
||||
parent="menus_dash_mrp"
|
||||
sequence="1" groups="mrp.group_mrp_manager,mrp.group_mrp_user"/>
|
||||
action="open_board_manufacturing" icon="terp-graph"
|
||||
id="menu_board_manufacturing" parent="menus_dash_mrp"
|
||||
sequence="1"/>
|
||||
|
||||
<menuitem icon="terp-mrp" id="base.menu_mrp_root" name="Manufacturing" sequence="8"
|
||||
action="open_board_manufacturing"/>
|
||||
|
|
|
@ -11,10 +11,9 @@
|
|||
|
||||
|
||||
<menuitem name="Master Data"
|
||||
id="menu_mrp_bom"
|
||||
parent="base.menu_mrp_root"
|
||||
groups="mrp.group_mrp_manager,mrp.group_mrp_user"
|
||||
sequence="5" />
|
||||
id="menu_mrp_bom"
|
||||
parent="base.menu_mrp_root"
|
||||
sequence="5" />
|
||||
|
||||
<!--
|
||||
Property / Property Group
|
||||
|
@ -438,7 +437,6 @@
|
|||
action="mrp_bom_form_action"
|
||||
id="menu_mrp_bom_form_action"
|
||||
parent="menu_mrp_bom"
|
||||
groups="mrp.group_mrp_user,mrp.group_mrp_manager"
|
||||
sequence="10"/>
|
||||
<menuitem
|
||||
action="mrp_bom_form_action2"
|
||||
|
@ -770,7 +768,8 @@
|
|||
<field name="context">{'search_default_current':1}</field>
|
||||
<field name="help">Manufacturing Orders are usually proposed automatically by OpenERP based on the bill of materials and the procurement rules, but you can also create manufacturing orders manually. OpenERP will handle the consumption of the raw materials (stock decrease) and the production of the finished products (stock increase) when the order is processed.</field>
|
||||
</record>
|
||||
<menuitem action="mrp_production_action" id="menu_mrp_production_action" parent="menu_mrp_manufacturing" groups="mrp.group_mrp_user,mrp.group_mrp_manager" sequence="1"/>
|
||||
<menuitem action="mrp_production_action" id="menu_mrp_production_action"
|
||||
parent="menu_mrp_manufacturing" sequence="1"/>
|
||||
|
||||
<record id="mrp_production_action_planning" model="ir.actions.act_window">
|
||||
<field name="name">Manufacturing Orders</field>
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
|
||||
"access_mrp_workcenter","mrp.workcenter","model_mrp_workcenter","mrp.group_mrp_user",1,1,1,1
|
||||
"access_mrp_workcenter","mrp.workcenter","model_mrp_workcenter","mrp.group_mrp_user",1,0,0,0
|
||||
"access_mrp_routing","mrp.routing","model_mrp_routing","mrp.group_mrp_user",1,0,0,0
|
||||
"access_mrp_routing_workcenter","mrp.routing.workcenter","model_mrp_routing_workcenter","mrp.group_mrp_user",1,0,0,0
|
||||
"access_mrp_bom","mrp.bom","model_mrp_bom","group_mrp_user",1,1,1,0
|
||||
"access_mrp_bom","mrp.bom","model_mrp_bom","group_mrp_user",1,0,0,0
|
||||
"access_mrp_bom_revision","mrp.bom.revision","model_mrp_bom_revision","group_mrp_user",1,0,0,0
|
||||
"access_mrp_production","mrp.production user","model_mrp_production","mrp.group_mrp_user",1,1,1,1
|
||||
"access_mrp_production_salesman","mrp.production salesman","model_mrp_production","base.group_sale_salesman",1,1,1,0
|
||||
|
@ -12,7 +12,7 @@
|
|||
"access_mrp_property","mrp.property","procurement.model_mrp_property","mrp.group_mrp_manager",1,1,1,1
|
||||
"access_mrp_production_product_line","mrp.production.product.line","model_mrp_production_product_line","mrp.group_mrp_user",1,1,1,1
|
||||
"access_procurement","procurement.order","model_procurement_order","mrp.group_mrp_user",1,1,1,1
|
||||
"access_mrp_workcenter_manager","mrp.workcenter.manager","model_mrp_workcenter","mrp.group_mrp_manager",1,0,0,0
|
||||
"access_mrp_workcenter_manager","mrp.workcenter.manager","model_mrp_workcenter","mrp.group_mrp_manager",1,1,1,1
|
||||
"access_mrp_routing_manager","mrp.routing.manager","model_mrp_routing","mrp.group_mrp_manager",1,1,1,1
|
||||
"access_mrp_routing_workcenter_manager","mrp.routing.workcenter.manager","model_mrp_routing_workcenter","mrp.group_mrp_manager",1,1,1,1
|
||||
"access_mrp_bom_manager","mrp.bom.manager","model_mrp_bom","mrp.group_mrp_manager",1,1,1,1
|
||||
|
@ -23,7 +23,7 @@
|
|||
"access_stock_warehouse","stock.warehouse mrp_worker","stock.model_stock_warehouse","mrp.group_mrp_user",1,0,0,0
|
||||
"access_account_analytic_journal_mrp_worker","account.analytic.journal mrp_worker","account.model_account_analytic_journal","mrp.group_mrp_user",1,0,0,0
|
||||
"access_account_account","account.account mrp_worker","account.model_account_account","mrp.group_mrp_user",1,0,0,0
|
||||
"access_purchase_order_mrp_worker","purchase.order mrp_worker","purchase.model_purchase_order","mrp.group_mrp_user",1,1,1,1
|
||||
"access_purchase_order_mrp_worker","purchase.order mrp_worker","purchase.model_purchase_order","mrp.group_mrp_user",1,0,0,0
|
||||
"access_purchase_order_line_mrp_worker","purchase.order.line mrp_worker","purchase.model_purchase_order_line","mrp.group_mrp_user",1,0,0,0
|
||||
"access_hr_timesheet_group_mrp_worker","resource.calendar mrp_manager","resource.model_resource_calendar","mrp.group_mrp_manager",1,1,1,1
|
||||
"access_procurement_stock_worker","procurement.order stock_worker","model_procurement_order","stock.group_stock_user",1,1,1,1
|
||||
|
@ -37,18 +37,18 @@
|
|||
"access_account_sequence_fiscalyear","account.sequence.fiscalyear","account.model_account_sequence_fiscalyear","mrp.group_mrp_user",1,1,1,1
|
||||
"access_product_product_user","product.product user","product.model_product_product","mrp.group_mrp_user",1,0,0,0
|
||||
"access_product_template_user","product.template user","product.model_product_template","mrp.group_mrp_user",1,0,0,0
|
||||
"access_product_uom_user","product.uom user","product.model_product_uom","mrp.group_mrp_user",1,1,1,1
|
||||
"access_product_uom_user","product.uom user","product.model_product_uom","mrp.group_mrp_user",1,0,0,0
|
||||
"access_product_supplierinfo_user","product.supplierinfo user","product.model_product_supplierinfo","mrp.group_mrp_user",1,1,1,1
|
||||
"access_res_partner_address","res.partner.address","base.model_res_partner_address","mrp.group_mrp_user",1,1,1,1
|
||||
"access_res_partner_address","res.partner.address","base.model_res_partner_address","mrp.group_mrp_user",1,0,0,0
|
||||
"access_stock_tracking","stock.tracking","stock.model_stock_tracking","mrp.group_mrp_user",1,1,1,0
|
||||
"access_res_partner","res.partner","base.model_res_partner","mrp.group_mrp_user",1,1,1,0
|
||||
"access_res_partner","res.partner","base.model_res_partner","mrp.group_mrp_user",1,0,0,0
|
||||
"access_workcenter_user","mrp.production.workcenter.line.user","model_mrp_production_workcenter_line","mrp.group_mrp_user",1,1,1,1
|
||||
"access_resource_calendar_leaves_user","mrp.resource.calendar.leaves.user","resource.model_resource_calendar_leaves","mrp.group_mrp_user",1,1,1,1
|
||||
"access_resource_calendar_leaves_manager","mrp.resource.calendar.leaves.manager","resource.model_resource_calendar_leaves","mrp.group_mrp_manager",1,0,0,0
|
||||
"access_resource_calendar_attendance_manager","mrp.resource.calendar.attendance.manager","resource.model_resource_calendar_attendance","mrp.group_mrp_manager",1,1,1,1
|
||||
"access_product_puom_categ","product.uom.categ","product.model_product_uom_categ","mrp.group_mrp_user",1,1,1,0
|
||||
"access_resource_resource","resource.resource","resource.model_resource_resource","mrp.group_mrp_user",1,1,1,0
|
||||
"access_board_board_user","mrp.board.board","board.model_board_board","mrp.group_mrp_user",1,1,1,0
|
||||
"access_product_puom_categ","product.uom.categ","product.model_product_uom_categ","mrp.group_mrp_user",1,0,0,0
|
||||
"access_resource_resource","resource.resource","resource.model_resource_resource","mrp.group_mrp_user",1,0,0,0
|
||||
"access_board_board_user","mrp.board.board","board.model_board_board","mrp.group_mrp_user",1,0,0,0
|
||||
"access_account_sequence_fiscalyear_manager","account.sequence.fiscalyear","account.model_account_sequence_fiscalyear","mrp.group_mrp_manager",1,0,0,0
|
||||
"access_product_template_manager","product.template mgr","product.model_product_template","mrp.group_mrp_manager",1,0,0,0
|
||||
"access_product_uom_manager","product.uom user","product.model_product_uom","mrp.group_mrp_manager",1,0,0,0
|
||||
|
@ -62,7 +62,7 @@
|
|||
"access_mrp_production_manager","mrp.production manager","model_mrp_production","mrp.group_mrp_manager",1,0,0,0
|
||||
"access_procurement_manager","procurement.order","model_procurement_order","mrp.group_mrp_manager",1,0,0,0
|
||||
"access_workcenter_manager","mrp.production.workcenter.line","model_mrp_production_workcenter_line","mrp.group_mrp_manager",1,0,0,0
|
||||
"access_stock_move_mrp_manager","stock.move mrp_manager","stock.model_stock_move","mrp.group_mrp_manager",1,0,0,1
|
||||
"access_stock_move_mrp_manager","stock.move mrp_manager","stock.model_stock_move","mrp.group_mrp_manager",1,0,0,0
|
||||
"access_mrp_production_product_line_manager","mrp.production.product.line manager","model_mrp_production_product_line","mrp.group_mrp_manager",1,0,0,0
|
||||
"access_account_sequence_fiscalyear_system","account.sequence.fiscalyear.system","account.model_account_sequence_fiscalyear","mrp.group_mrp_manager",1,0,0,0
|
||||
"access_stock_production_lot_user","stock.production.lot","stock.model_stock_production_lot","mrp.group_mrp_user",1,1,1,1
|
||||
|
|
|
|
@ -2,7 +2,9 @@
|
|||
<openerp>
|
||||
<data>
|
||||
|
||||
<menuitem id="base.menu_project_report" name="Reporting" parent="base.menu_main_pm" sequence="50"/>
|
||||
<menuitem id="base.menu_project_report" name="Reporting"
|
||||
groups="project.group_project_manager"
|
||||
parent="base.menu_main_pm" sequence="50"/>
|
||||
|
||||
<record id="view_task_project_user_tree" model="ir.ui.view">
|
||||
<field name="name">report.project.task.user.tree</field>
|
||||
|
@ -10,7 +12,7 @@
|
|||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Tasks Analysis">
|
||||
<field name="name" invisible="1"/>
|
||||
<field name="name" invisible="1"/>
|
||||
<field name="project_id" invisible="1"/>
|
||||
<field name="user_id" invisible="1"/>
|
||||
<field name="date_deadline" invisible="1"/>
|
||||
|
@ -43,13 +45,13 @@
|
|||
<field name="model">report.project.task.user</field>
|
||||
<field name="type">graph</field>
|
||||
<field name="arch" type="xml">
|
||||
<graph string="Tasks Analysis" type="bar">
|
||||
<field name="name"/>
|
||||
<field name="state" group="True"/>
|
||||
<field name="no_of_days" operator="+"/>
|
||||
</graph>
|
||||
</field>
|
||||
</record>
|
||||
<graph string="Tasks Analysis" type="bar">
|
||||
<field name="name"/>
|
||||
<field name="state" group="True"/>
|
||||
<field name="no_of_days" operator="+"/>
|
||||
</graph>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_task_project_user_search" model="ir.ui.view">
|
||||
<field name="name">report.project.task.user.search</field>
|
||||
|
@ -57,52 +59,52 @@
|
|||
<field name="type">search</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Tasks Analysis">
|
||||
<group colspan="10" col="12">
|
||||
<filter icon="terp-go-year" string=" Year "
|
||||
<group colspan="10" col="12">
|
||||
<filter icon="terp-go-year" string=" Year "
|
||||
domain="[('date_start','<=', time.strftime('%%Y-%%m-%%d')),('date_start','>=',time.strftime('%%Y-01-01'))]"
|
||||
help="Current Year"/>
|
||||
<filter icon="terp-go-month" string=" Month "
|
||||
name="month"
|
||||
domain="[('date_start','<=',(datetime.date.today()+relativedelta(day=31)).strftime('%%Y-%%m-%%d')),('date_start','>=',(datetime.date.today()-relativedelta(day=1)).strftime('%%Y-%%m-%%d'))]"
|
||||
help="Current Month"/>
|
||||
<filter icon="terp-go-week"
|
||||
string=" Month-1 "
|
||||
separator="1"
|
||||
help="Current Year"/>
|
||||
<filter icon="terp-go-month" string=" Month "
|
||||
name="month"
|
||||
domain="[('date_start','<=',(datetime.date.today()+relativedelta(day=31)).strftime('%%Y-%%m-%%d')),('date_start','>=',(datetime.date.today()-relativedelta(day=1)).strftime('%%Y-%%m-%%d'))]"
|
||||
help="Current Month"/>
|
||||
<filter icon="terp-go-week"
|
||||
string=" Month-1 "
|
||||
separator="1"
|
||||
domain="[('date_start','<=', (datetime.date.today() - relativedelta(day=31, months=1)).strftime('%%Y-%%m-%%d')),('date_start','>=',(datetime.date.today() - relativedelta(day=1,months=1)).strftime('%%Y-%%m-%%d'))]"
|
||||
help="Previous Month"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Draft"
|
||||
icon="terp-document-new"
|
||||
domain="[('state','=','draft')]"
|
||||
help = "Draft tasks"/>
|
||||
<filter string="Current"
|
||||
icon="terp-check"
|
||||
domain="[('state', '=' ,'open')]"
|
||||
help = "In progress tasks"/>
|
||||
<filter string="Pending"
|
||||
icon="terp-gtk-media-pause"
|
||||
domain="[('state','=','pending')]"
|
||||
help = "Pending tasks"/>
|
||||
<filter string="Done"
|
||||
icon="terp-dialog-close"
|
||||
name="done"
|
||||
domain="[('state','=','done')]"/>
|
||||
help="Previous Month"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Draft"
|
||||
icon="terp-document-new"
|
||||
domain="[('state','=','draft')]"
|
||||
help = "Draft tasks"/>
|
||||
<filter string="Current"
|
||||
icon="terp-check"
|
||||
domain="[('state', '=' ,'open')]"
|
||||
help = "In progress tasks"/>
|
||||
<filter string="Pending"
|
||||
icon="terp-gtk-media-pause"
|
||||
domain="[('state','=','pending')]"
|
||||
help = "Pending tasks"/>
|
||||
<filter string="Done"
|
||||
icon="terp-dialog-close"
|
||||
name="done"
|
||||
domain="[('state','=','done')]"/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="project_id">
|
||||
<filter icon="terp-folder-violet"
|
||||
string="My Projects"
|
||||
help="My Projects" domain="[('project_id.user_id','=',uid)]"/>
|
||||
<field name="project_id">
|
||||
<filter icon="terp-folder-violet"
|
||||
string="My Projects"
|
||||
help="My Projects" domain="[('project_id.user_id','=',uid)]"/>
|
||||
</field>
|
||||
|
||||
<field name="user_id" widget="selection">
|
||||
<filter icon="terp-personal"
|
||||
string="My Task"
|
||||
help = "My tasks"
|
||||
domain="[('user_id','=',uid)]" />
|
||||
<filter icon="terp-personal-"
|
||||
string="Non Assigned Tasks to users"
|
||||
help="Non Assigned Tasks to users"
|
||||
domain="[('user_id','=',False)]"/>
|
||||
<filter icon="terp-personal"
|
||||
string="My Task"
|
||||
help = "My tasks"
|
||||
domain="[('user_id','=',uid)]" />
|
||||
<filter icon="terp-personal-"
|
||||
string="Non Assigned Tasks to users"
|
||||
help="Non Assigned Tasks to users"
|
||||
domain="[('user_id','=',False)]"/>
|
||||
</field>
|
||||
<field name="partner_id" />
|
||||
</group>
|
||||
|
@ -149,7 +151,7 @@
|
|||
<field name="help">This report allows you to analyse the performance of your projects and users. You can analyse the quantities of tasks, the hours spent compared to the planned hours, the average number of days to open or close a task, etc.</field>
|
||||
</record>
|
||||
|
||||
<menuitem action="action_project_task_user_tree" id="menu_project_task_user_tree" parent="base.menu_project_report" groups="project.group_project_manager"/>
|
||||
<menuitem action="action_project_task_user_tree" id="menu_project_task_user_tree" parent="base.menu_project_report"/>
|
||||
|
||||
<!-- Views and action for project dashboard -->
|
||||
<record id="view_project_vs_remaining_hours_tree" model="ir.ui.view">
|
||||
|
@ -187,7 +189,7 @@
|
|||
<field name="view_id" ref="view_project_vs_remaining_hours_graph"/>
|
||||
</record>
|
||||
|
||||
<record id="open_view_project_vs_remaining_hours_tree" model="ir.actions.act_window.view">
|
||||
<record id="open_view_project_vs_remaining_hours_tree" model="ir.actions.act_window.view">
|
||||
<field eval="2" name="sequence"/>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="view_id" ref="view_project_vs_remaining_hours_tree"/>
|
||||
|
@ -275,7 +277,7 @@
|
|||
<field name="view_id" ref="view_project_vs_planned_total_hours_graph"/>
|
||||
</record>
|
||||
|
||||
<record id="open_view_project_vs_planned_total_hours_tree" model="ir.actions.act_window.view">
|
||||
<record id="open_view_project_vs_planned_total_hours_tree" model="ir.actions.act_window.view">
|
||||
<field eval="2" name="sequence"/>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="view_id" ref="view_project_vs_planned_total_hours_tree"/>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
"access_project_task_type_user","project.task.type user","model_project_task_type","project.group_project_user",1,1,1,1
|
||||
"access_project_task_type","project.task.type","model_project_task_type","project.group_project_manager",1,1,1,1
|
||||
"access_project_task_manager","project.task manager","model_project_task","project.group_project_manager",1,1,1,1
|
||||
"access_project_task","project.task","model_project_task","project.group_project_user",1,1,1,0
|
||||
"access_project_task","project.task","model_project_task","project.group_project_user",1,1,1,1
|
||||
"access_project_task_work","project.task.work","model_project_task_work","project.group_project_user",1,1,1,1
|
||||
"access_project_task_work_manager","project.task.work.manager","model_project_task_work","project.group_project_manager",1,1,1,1
|
||||
"access_report_project_task_user","report.project.task.user","model_report_project_task_user","project.group_project_manager",1,1,1,1
|
||||
|
|
|
|
@ -174,9 +174,8 @@
|
|||
<field name="view_id" ref="view_project_issue_report_graph"/>
|
||||
<field name="act_window_id" ref="action_project_issue_report"/>
|
||||
</record>
|
||||
<menuitem icon="terp-project" id="base.menu_main_pm" name="Project" sequence="10"/>
|
||||
<menuitem id="base.menu_project_report" name="Reporting" parent="base.menu_main_pm" sequence="50"/>
|
||||
<menuitem action="action_project_issue_report" id="menu_project_issue_report_tree" parent="base.menu_project_report" groups="project.group_project_manager"/>
|
||||
<menuitem action="action_project_issue_report" id="menu_project_issue_report_tree"
|
||||
parent="base.menu_project_report"/>
|
||||
|
||||
|
||||
</data>
|
||||
|
|
|
@ -1,14 +1,11 @@
|
|||
"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
|
||||
"access_project_issue_all","project.issue","model_project_issue","project.group_project_manager",1,1,1,1
|
||||
"access_project_issue_user","project.issue","model_project_issue","project.group_project_user",1,1,1,1
|
||||
"access_project_issue","project.issue","model_project_issue","project_issue.group_project_supporter",1,1,1,1
|
||||
"access_project_issue_report_all","project.issue.report","model_project_issue_report","project.group_project_manager",1,1,1,1
|
||||
"access_project_issue_report","project.issue.report","model_project_issue_report","project_issue.group_project_supporter",1,1,1,1
|
||||
"access_crm_case_categ_id","crm.case.categ","crm.model_crm_case_categ","project.group_project_manager",1,1,1,1
|
||||
"access_crm_case_categ_supp","crm.case.categ","crm.model_crm_case_categ","project_issue.group_project_supporter",1,0,0,0
|
||||
"access_project_issue_version_project","project_issue_version manager","model_project_issue_version","project.group_project_manager",1,1,1,1
|
||||
"access_project_issue_version","project_issue_version manager","model_project_issue_version","project_issue.group_project_supporter",1,0,0,0
|
||||
"access_project_issue_version_project_user","project_issue_version user","model_project_issue_version","project.group_project_user",1,0,0,0
|
||||
"access_mailgate_message_project_manager","mailgate.message.manager","mail_gateway.model_mailgate_message","project.group_project_manager",1,1,1,1
|
||||
"access_resource_calendar_project_manager","resource.calendar.project.manager","resource.model_resource_calendar","project.group_project_manager",1,1,1,1
|
||||
"access_project_issue_report_user","project.issue.report user","model_project_issue_report","project.group_project_user",1,1,1,0
|
||||
"access_project_issue_report_user","project.issue.report user","model_project_issue_report","project.group_project_user",1,0,0,0
|
||||
"access_mailgate_message_issue_project_user","project.mailgate.message.issue.user","mail_gateway.model_mailgate_message","project.group_project_user",1,1,1,0
|
||||
|
|
|
|
@ -1,8 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data noupdate="1">
|
||||
<record id="group_project_supporter" model="res.groups">
|
||||
<field name="name">Project / Support Manager</field>
|
||||
</record>
|
||||
</data>
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
|
@ -259,7 +259,7 @@
|
|||
<field name="help">With the Requests for Quotation menu you can create new requests for quotations, review existing ones or turn them into a purchase order once the supplier offer is approved. When you confirm a RfQ, OpenERP will convert it to a Purchase Order and generate the next steps: draft reception of the products, draft invoice to control.</field>
|
||||
</record>
|
||||
<menuitem action="purchase_rfq" id="menu_purchase_rfq" parent="menu_procurement_management"
|
||||
sequence="6" groups="group_purchase_manager,group_purchase_user"/>
|
||||
sequence="6"/>
|
||||
|
||||
<record id="purchase_form_action" model="ir.actions.act_window">
|
||||
<field name="name">Purchase Orders</field>
|
||||
|
|
Loading…
Reference in New Issue