docs: def update_project(project,**kwargs):
      """
          Update a project
          returns a project complexmodel
      """
  
      user_id = kwargs.get('user_id')
      #check_perm(user_id, 'update_project')
      proj_i = _get_project(project.id)
  
      proj_i.check_write_permission(user_id)
  
      proj_i.name        = project.name
      proj_i.description = project.description
  
      attr_map = hdb.add_resource_attributes(proj_i, project.attributes)
      proj_data = _add_project_attribute_data(proj_i, attr_map, project.attribute_data)
      proj_i.attribute_data = proj_data
      db.DBSession.flush()
  
      return proj_i