code: def create_prj(self, atypes=None, deps=None):
          
          dialog = ProjectCreatorDialog(parent=self)
          dialog.exec_()
          prj = dialog.project
          if prj and atypes:
              for at in atypes:
                  at.projects.add(prj)
                  at.save()
          if prj and deps:
              for dep in deps:
                  dep.projects.add(prj)
                  dep.save()
          if prj:
              prjdata = djitemdata.ProjectItemData(prj)
              treemodel.TreeItem(prjdata, self.prjs_model.root)
          return prj
docs: Create and return a new project
  
          :param atypes: add the given atypes to the project
          :type atypes: list | None
          :param deps: add the given departmetns to the project
          :type deps: list | None
          :returns: The created project or None
          :rtype: None | :class:`jukeboxcore.djadapter.models.Project`
          :raises: None