I have a couple of thoughts on this idea.
First off, from what I am understanding, you want to be able to upload a video, and then NOT have that stupid form to fill in after the video upload has completed. This functionality already exists in the Groups Module. When you are on a specific Group page, (provided you are allowed to upload videos) when you click Add Video, it is a simple form that has a browse button in which you select the video you want to upload, enter a title name, and then click submit. Upon video upload completion, the page is then redirected back to that particular Group page.
So, with that in mind, lets work through the flow. FIrst, I am checking on the BxGroupsView page, to find the button for Add Video. Around line 90, there is this:
'TitleUploadPhotos' => $this->_oMain->isAllowedUploadPhotos($this->aDataEntry) ? _t('_bx_groups_action_upload_photos') : '',
So, from here, I am checking in the sys_objects_actions table for the button code and found this url:
{BaseUri}upload_videos/{URI}
Looking at the structure of the url, I can tell that this is not an actual page, but instead an action (function), So I then searched the Groups module for any instances of function actionUploadVideo (I always leave off the s at the end of things). That led me to this on BxGroupsModule.php:
function actionUploadVideos ($sUri)
{
parent::_actionUploadMedia ($sUri, 'isAllowedUploadVideos', 'videos', array ('videos_choice', 'videos_upload'), _t('_bx_groups_page_title_upload_videos'));
}
Now, I have to find the parent function of _actionUploadMedia. This is most likely in one of the files in inc/classes or templates/base/scripts. So I search for this function.
I find this on BxDolTwigModule.php in the inc/classes folder:
function _actionUploadMedia ($sUri, $sIsAllowedFuncName, $sMedia, $aMediaFields, $sTitle)
{
if (!($aDataEntry = $this->_preProductTabs($sUri, $sTitle)))
return;
if (!$this->$sIsAllowedFuncName($aDataEntry)) {
$this->_oTemplate->displayAccessDenied ();
return;
}
$this->_oTemplate->pageStart();
$iEntryId = $aDataEntry[$this->_oDb->_sFieldId];
bx_import ('FormUploadMedia', $this->_aModule);
$sClass = $this->_aModule['class_prefix'] . 'FormUploadMedia';
$oForm = new $sClass ($this, $aDataEntry[$this->_oDb->_sFieldAuthorId], $iEntryId, $aDataEntry, $sMedia, $aMediaFields);
$oForm->initChecker($aDataEntry);
if ($oForm->isSubmittedAndValid ()) {
$oForm->processMedia($iEntryId, $this->_iProfileId);
$this->$sIsAllowedFuncName($aDataEntry, true); // perform action
header ('Location:' . BX_DOL_URL_ROOT . $this->_oConfig->getBaseUri() . 'view/' . $aDataEntry[$this->_oDb->_sFieldUri]);
exit;
} else {
echo $oForm->getCode ();
}
$this->_oTemplate->addCss ('main.css');
$this->_oTemplate->addCss ('forms_extra.css');
$this->_oTemplate->pageCode($sTitle);
}
This function creates the form and does the submission of info to the function that handles the actual entry of information into the database, as well as what page to return to after successful submission.
SO - after dissecting an existing functionality, I believe that using the function and adjusting the variables will accomplish what you want.
That's one way to do it. Another would be to put together your own video upload process, but make sure you get the data entered into all of the specific fields throughout the various tables.