'Creates an email.alias record according to the values provided in ``vals``,
with 2 alterations: the ``alias_name`` value may be suffixed in order to
make it unique (and certain unsafe characters replaced), and
he ``alias_model_id`` value will set to the model ID of the ``model_name``
context value, if provided.'

@api.model
def create(self, vals):

    model_name = self._context.get('alias_model_name')
    parent_model_name = self._context.get('alias_parent_model_name')
    if vals.get('alias_name'):
        vals['alias_name'] = self._clean_and_make_unique(vals.get('alias_name'))
    if model_name:
        model = self.env['ir.model'].search([('model', '=', model_name)])
        vals['alias_model_id'] = model.id
    if parent_model_name:
        model = self.env['ir.model'].search([('model', '=', parent_model_name)])
        vals['alias_parent_model_id'] = model.id
    return super(Alias, self).create(vals)
