Index: indico/MaKaC/webinterface/wcomponents.py
===================================================================
--- indico/MaKaC/webinterface/wcomponents.py	(revision b5b87e8d4d8af7058ed3c62a4a15dc095aeb5a83)
+++ indico/MaKaC/webinterface/wcomponents.py	(revision 64729b323626331602989cf5ef434e4876e95eb4)
@@ -42,5 +42,5 @@
 from MaKaC.common import Config
 from MaKaC.webinterface.common.person_titles import TitlesRegistry
-from MaKaC.conference import Conference
+from MaKaC.conference import Conference, Category
 
 from MaKaC.webinterface.common.timezones import TimezoneRegistry, DisplayTimezoneRegistry
@@ -5541,7 +5541,30 @@
         self._target=target
 
+        from MaKaC.webinterface.rh.conferenceBase import RHSubmitMaterialBase
+        if isinstance(target, Category):
+            self._allowedMats = RHSubmitMaterialBase._allowedMatsCategory
+        else:
+            self._allowedMats = RHSubmitMaterialBase._allowedMatsEvent[self._target.getConference().getType()]
+
+    # TODO: Put this out of here, and unify with outputGenerator._generateMaterialList
+    # (when we have a better class hierarchy)
+    def _generateMaterialList(self):
+        """
+        Generates a list containing all the materials, with the
+        corresponding Ids for those that already exist
+        """
+
+        matDict = dict((title.lower(), title) for title in self._allowedMats)
+
+        for material in self._target.getMaterialList():
+            title = material.getTitle().lower()
+            matDict[title] = material.getId()
+
+        return sorted(list((matId, title.title()) for title, matId in matDict.iteritems()))
 
     def getVars(self):
         vars=WTemplated.getVars(self)
+
+        vars["materialList"] = self._generateMaterialList()
 
         vars["materialModifHandler"] = vars.get("materialModifHandler", None)
